Witam.
Mam pracowników należących do działu. Czyli:
[code=“ruby”]class Department < ActiveRecord::Base
has_many :employees
end
class Employee < ActiveRecord::Base
belongs_to :department
end[/code]
w routes.rb mam :
map.resources :employees
map.resources :departments, :has_many => 'employees'
rake routes pokazuje że :
employees GET /employees {:controller=>"employees", :action=>"index"}
department_employees GET /departments/:department_id/employees {:controller=>"employees", action=>"index"}
Dlaczego mimo, że podaje dwa różne adresy
localhost/employees i
localhost/departments/2/employees zawsze wykonuje sie index z kontrolera employees?
Chcę uzyskać efekt, że wchodząc przez localhost/employees mam listę wszytskich pracowników a przez localhost/departments/2/employees mam wszystkich pracowników ale z działu 2.
Czy musze pisac warunek w index dla kontorlera employees, ze jak nie posute :department_id to dodaj warunek do wyszukiwania? Czy robi się to inaczej?
Ten sam efekt jest w przypadku edit. Tez wykonuje sie ta sama akcja z kontorlera employees bez wzgledu czy jest:
localhost/employees/1/edit
localhost/departments/2/employees/1/edit
Czy tak ma być czy błąd mam w pliku routes?
Jak sobie poradzić z tym problemem?
Pozdrawiam