我认为这可能不是最好的,但它很方便,易于理解,并且遵循 Rails 方式。您应该使用嵌套路由:
resources :companies do
resources :employees
end
现在你将有一些这样的路线:
company_employees GET /companies/:company_id/employees(.:format) employees#index
POST /companies/:company_id/employees(.:format) employees#create
new_company_employee GET /companies/:company_id/employees/new(.:format) employees#new
因此,当您创建新员工时,您知道该员工属于哪个公司,这要归功于:company_id
. 所有创建新员工、更新、销毁的代码......当然,将被放入EmployeesController
。然后您需要构建一个嵌套表单来创建属于一家公司的新员工。
如果您想创建、编辑、更新……公司?只需为其创建新资源:
resources :company
因此,您可以通过路径编辑公司,如您所写的问题:companies/:id/edit
。