Rails中嵌套资源的重点是什么?

时间:2013-09-13 07:38:56

标签: ruby-on-rails routing

说我在Rails中拥有原型博客应用程序。我会有一个Post模型有很多评论。我的routes.rb可能如下所示:

resources :post do
    resources :comment
end

这意味着例如评论的编辑路径如下所示:/post/21/comment/42/edit。 当我们在两个模型之间存在许多/属于关系时似乎是有意义的。 但是,一旦你发现帖子的id不是真正需要找到评论(甚至帖子),它就会变得不那么有意义了。

要了解我的意思,请考虑控制器中编辑操作的这两个等效实现:

# Nested resource version
def edit
    @post = Post.find(params[:post_id])
    @comment = @post.comments.find(params[:id])
    # ...
end

VS

# Un-nested resource version
def edit
    @comment = Comment.find(params[:id])
    @post = @comment.post
    # ...
end

我的问题是:是否有一个用例,我没有考虑过?或者嵌套资源只适合制作漂亮的URL?

0 个答案:

没有答案