2013-01-31 116 views
0

我有3個層次的嵌套。Rails 3創建一個嵌套的獨立頁面的路由

routes.rb中看起來像這樣

resources :clients do 
     resources :departments do 
     resources :tasks 
     end 
    end 

我想創建一個看起來像這樣

/clients/:client_id/departments/:department_id/tasks/data 

我曾嘗試加入以下

resources :clients do 
     resources :departments do 
     resources :tasks 
      member do 
      get "data" 
      end 
     end 
    end 

這是一個自定義路徑創建路線

/clients/:client_id/departments/:department_id/tasks/:task_id/data 

我該如何刪除:task_id部分的路徑?

回答

3

成員路由作用於成員,這就是爲什麼它需要一個id。集合作用於集合,因此不需要ID。

resources :clients do 
    resources :departments do 
    resources :tasks do 
     collection do 
     get "data" 
     end 
    end 
    end 
end 
1

您應該使用

resources :clients do 
    resources :departments do 
    resources :tasks 
     get "data", :on => :collection 
    end 
end