Rails中的嵌套模型/路由3

时间:2011-02-28 23:23:08

标签: ruby-on-rails

我的Rails 3应用程序中有一个简单的博客功能。我正在尝试为每个帖子添加评论。 BlogComment模型有一个属性blog_post_id,可以为每个帖子找到相应的评论。我已经在模型中设置了关联,我还在路由文件中的BlogComments下嵌套了BlogPost

但是,我无法弄清楚如何通过控制器为每个BlogPost访问其各自的注释,以便稍后在视图中显示它们。

3 个答案:

答案 0 :(得分:1)

假设您已使用has_many :blog_comments设置BlogPost,并使用belongs_to :blog_post设置BlogComment,则可以使用以下命令在帖子控制器中访问帖子的评论:

@blog_post = BlogPost.find(params[:id])
@blog_post_comments = @blog_post.blog_comments

答案 1 :(得分:1)

最好将此作为comments关联,这样您就不会一直重新输入单词blog

has_many :comments, :class_name => "BlogComment"

这仍然可以让你的模型名为BlogPostBlogComment,但是当你去获取BlogPost对象的评论时:

@blog_post.comments

不再重复。

答案 2 :(得分:0)

假设你的模特

Blog Post has_many blog评论,

在您的控制器中:

@b = BlogPost.find(1)

在您的视图中

@b.blog_Comments.each ....