如何为下面的场景写路线

时间:2017-03-06 21:11:24

标签: ruby ruby-on-rails-4

我有一条JSON路径,如下所示:

 /jobs/{jobid}/employees/{employeeid}/departments/cubes/{cubeid}/register

当没有立方体和立方体时,以下路线正常工作:

resources :departments, only: [] do
  get 'register', on: :collection
end

我试过这样做:

namespace :departments do
  resources :cubes, only: [] do
    get 'register', on: :collection
  end
end

我需要在上面的代码中进行哪些更改才能使用路径路径?

2 个答案:

答案 0 :(得分:0)

当我添加:

resources :jobs do
  resources :employees do
    namespace :departments do
      get 'cubes/:cube_id/register',
        to: 'cubes#register'
    end
  end
end

到我的routes.rb,然后运行rake routes,我在输出中得到这一行:

GET /jobs/:job_id/employees/:employee_id/departments/cubes/:cube_id/register(.:format) departments/cubes#register

答案 1 :(得分:0)

将资源嵌套超过1级不是一个好习惯

http://guides.rubyonrails.org/routing.html

  

资源不应该嵌套超过1级。

http://weblog.jamisbuck.org/2007/2/5/nesting-resources

  

经验法则:资源不应嵌套超过1级   深。集合可能需要由其父级确定范围,但需要具体   成员总是可以通过id直接访问,而不应该需要   范围界定(除非由于某种原因,id不是唯一的)。