假设我有一个名为employeesmanager的应用程序,它有一个employees
资源,因此/employees/new
是一个新员工等。我希望在此操作之前有公司名称,例如,ford/employees/new
应该在福特创建一个新员工,而exxon/employees/new
应该在埃克森创建一个新员工。这样做的最佳方式是什么?
理想情况下,我不希望使用/company/exxon/employees/new
的嵌套控制器,因为这似乎是URL中额外浪费的单词,可能很难输入。
答案 0 :(得分:4)
scope ":company_name" do
resources :employees
end
有关详细信息,请查看Rails Guides on routing。
答案 1 :(得分:1)
你可以尝试这样的事情:
get "/:company/employees/new" => "employees#new"
在这种情况下,使用GET
方法向此路径发出的请求将传递给EmployeesController#new
,而在params[:company]
中,它将会收到公司名称。