4
我知道如何在路徑文件中設置嵌套的資源......問題在於如何選擇使用相同的有效負載和更少的行。Rails路由,has_many和可選的嵌套資源理智?
可以說我有一個BlogSite
。 BlogSite有很多Posts
,但它也有很多Authors
和許多Dates
。 (這可能不是最好的例子,但忍受着我)。
做CRUD上Post
,我希望能夠用
/blog_sites/1/author/2/date/3/posts #all posts on site 1 from author 2 on date 3
/blog_sites/1/author/2/posts #all posts on site 1 from author 2
/blog_sites/1/date/3/posts #all posts on site 1 on date 3
/blog_sites/1/posts #all posts on site 1
/author/2/date/3/posts #all posts from author 2 on date 3
/author/2/posts #all posts from author 2
/date/3/posts #all posts from date 3
/posts #all posts
,使得任何過濾參數可以在URL可選。我知道你可以使用類似
get (/blog_sites/:blog_id)(/author/:author_id)(/date/:date_id)/posts => "posts#index"
但我不想失去使用嵌套資源路由的所有CRUD優點。目前我必須複製大部分路由才能使其工作,並且正在尋找更好的方法來執行此操作:
resources :blog_sites do
resources :authors do
resources :dates do
resources :posts
end
resources :posts
end
resources :dates do
resources :posts
end
resources :posts
end
...等等。它很快就會變得非常難以管理。
如何維護可選的參數網址,同時保持routes.rb DRY
和理智?
這正是我是如何結束的解決它,雖然我使用嵌套的範圍,所以我可以指定條件,所有則params的乾淨,每行,旁邊的資源 – coneybeare 2012-03-13 12:32:19