【译】不必要的深层路由嵌套

Sunday, July 25, 2010

原文:http://rails-bestpractices.com/posts/11-needless-deep-nesting

一些人可能定义3层或者更多层的嵌套, 这是一种并不推荐的过度设计

丑陋的...

map.resources :posts do |post|
  post.resources :comments do |comment|
    comment.resources :favorites
  end
end

<%= link_to post_comment_favorite_path(@post, @comment, @favorite) %>

真的需要定义3层嵌套路由吗? 使用嵌套路由意味着嵌套资源所属于父资源,如例子中,
“评论资源”属于“文章”,但是不必定义“最喜欢的资源”属于文章, 因为“最喜欢的”属于“评论”, 并且深层的路由会产生一个很长很丑的链接

map.resources :post do |post|
  post.resources :comments
end

map.resources :comments do |comment|
  comment.resources :favorites
end
<%= link_to comment_favorite_path(@comment, @favorite) %>

这样我们把3层嵌套路由重构成了2层嵌套路由, 并且这样favorites的链接变得更短了。

This entry was tagged Rails and Best-Practices

comments powered by Disqus

© 2009-2013 lxneng.com. All rights reserved. Powered by Pyramid

go to Top