假设我有一个BlogSite. BlogSite有很多帖子,但也有很多作者和很多日期. (这可能不是最好的例子,但请耐心等待).
要在帖子上做CRUD,我希望能够使用
/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 :postsend
… 等等.它很快就会变得非常难以管理.
如何在保持路线的同时保持可选的参数URL .rb DRY和sane?
解决方法 尝试一起使用范围和资源. Rails 3 routing with resources under an optional scopescope 'blog_sites/:blog_ID)(/author/:author_ID)(/date/:date_ID)' do resources :postsend总结
以上是内存溢出为你收集整理的ruby-on-rails – Rails路由,has_many和可选的嵌套资源健全性?全部内容,希望文章能够帮你解决ruby-on-rails – Rails路由,has_many和可选的嵌套资源健全性?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)