2011-11-18 26 views
0

我有以下資源設置:重構:有一個嵌套的資源如果母公司未能

resources :sites do 
    resources :documents 
    # more nested here 
end 


resources :documents do 
    resources :notes, :except => [:show, :new, :edit] 
end 

我想要的音符控制器具有文檔上下文。問題是,文檔控制器本身取決於網站上下文。所以從上面創建的/文檔網址都會引發500錯誤。我可以調整控制器代碼來處理這個問題,但是我想知道是否有一種方法可以不創建/文檔網址,只需:/ document /#id/notes

回答

0

對於其他任何可能有此問題的人您可以限制你不想使用的路由:除了@agmcleod對:notes的方式。因此,要限制該文件的URL要麼是:

resources :sites do 
    resources :documents, :except => [:index, :show, :new, :create, :edit, :update, :destroy] 
    # more nested here 
end 

resources :documents, :except => [:index, :show, :new, :create, :edit, :update, :destroy] do 
    resource :notes, :except => [:show, :new, :edit] 
end 

可以消除任何必要的行動。

+0

不得不承認,自從11月份以後,我不記得我的問題了。我自從在我的模型上進行了一些重組,現在我有文檔>版本>筆記,我其實也是這樣做的。使用except選項只加載我需要的父資源的幾條路線。我接受了你的答案,因爲它是正確的。 – agmcleod