我正處於我的發展階段,我認爲深度(> 1)嵌套資源是不值得的。深度嵌套多態資源值得付出努力嗎?
我有這樣的事情:
resources :first-level do
resources :comments
resources :second-level do
resources :comments
resources :first-child do
resources :comments
end
resources :second-child do
resources :comments
end
resources :third-child do
resources :comments
end
end
end
起腳的是,評論是多態的其他資源。我的目的是要有乾淨的外觀網址,如〜/一級/ 34 /評論,〜/一級/ 34 /二級/ 56 /三級/評論等。
到目前爲止的問題是嵌套的多態路由只會導致悲傷。我正在關注一些Ryan Bates Railscasts作爲例子。例如,如果我嘗試在正常工作的第一級使用polymorphic_path和獲取:
polymorphic_path([@commentable, comments]) => ~/first-level/34/comments
但~/first-level/34/second-level/23
相同的代碼失敗:
undefined method 'second-level_comment_path' for #<#<Class:0x007fcc4acfbe58>:0x007fcc4ae73d08>
,但是當我看到我的路線實際命名路線是first-level_second-level_comment
。我試圖手動創建second-level_comment_path
以基本上別名first-level_second-level_comment
,但我似乎無法做到這一點。
除非有人能在這裏指出一個明顯的錯誤我傾向於這種方式(http://weblog.jamisbuck.org/2007/2/5/nesting-resources),只是未嵌套這些。我有一個麪包屑風格的導航,以顯示hiearchy,所以應該足夠了,我看它越多,這些網址確實有點不方便。
感謝您的提示。我開始放下自己的資源,然後迅速發現,通過嵌套的困難更容易掙扎。對於給定的嵌套資源,有一個簡單的方法是重構路徑的層次結構,即first_second_third_etc_path? –