2013-06-20 158 views
0

我試圖建立一個admin控制器,需要訪問其他幾個資源模型。Rails路由多個控制器

例如

:shelf控制器需要訪問:books:movies,和:music。其中每個都需要自己的新/刪除/修改操作。

現在我想的路線,所以我可以做localhost:3000/shelf/books/new

我已經嘗試創建一個新的書:

resources :books, :shelf=>'books' 

,但沒有奏效。

非常感謝任何人的幫助。

感謝

回答

0

嘗試做這樣的事情

resources :shelf do 
    resources :books 
end 

那麼你可以製造類似

resources :shelf do 
    resources :books 
    resources :movies 
    ... 
end 

這將路線localhost:3000/shelf/books 希望這有助於!

更新 如果你想有一個貨架下的所有圖書資源的,那麼你可以使用一個命名空間

namespace :shelf do 
    resources :books 
end 
+0

感謝您的幫助!現在它適用於localhost:3000/shelf /:id/books,但是我的書架實際上並不是一個資源,我該如何製作它,因此我不需要url中的id部分? –

+0

嘿我更新了我的答案,可能會回答你的問題 – Sam

+0

我實際上是在嘗試命名空間和作用域,命名空間導致路由錯誤「未初始化的常量貨架」,其中範圍確實工作,但它也可以在沒有/ shelf的情況下工作。此外,佈局似乎不適用於書頁,我似乎無法弄清楚如何添加一個書籍 –