有没有办法在rails中找到封闭资源?

时间:2013-06-26 14:49:57

标签: ruby-on-rails-3 ruby-on-rails-3.2 url-routing restful-url actioncontroller

当我们将url写为/ posts /:id / comments时,我们将评论映射到帖子只能找到相应的评论: -

@post = Post.find(params[:post_id])
@comments = @post.comments

但是我们可以说评论与标签和帖子具有多态关联,可以称为:

/posts/:id/comments
/tags/:id/comments

现在在Posts #index中,我不知道它是用tag还是post作为封闭资源调用, rails中是否有任何可以自动找到它的方法?,就像在Resources Controller中一样插件,我们有一个名为 enclosing_resource 的方法,它将为您提供特定的帖子或标签资源,可以用作: -

@comments = enclosing_resource.comments

我可以通过检查params是否包含post_id或tag_id来实现,但它不是正确的方式,并且看起来不太好,因为我们也增加了与其他模块的多态关联。

0 个答案:

没有答案