如何在ActiveRecord中为对象分配多个相关对象

时间:2011-10-05 11:40:22

标签: ruby-on-rails ruby

我有以下两个模型

class Post < ActiveRecord::Base
  has_many :comments
end

class Comment < ActiveRecord::Base
  belongs_to :post
end

我有一个对象@post和一系列评论@comments。如何将所有评论对象分配到一行中?

4 个答案:

答案 0 :(得分:4)

@post.comments = @comments

应该做你要问的事。或者我错过了什么?

答案 1 :(得分:2)

@post.update_attributes(:comments => @comments)

OR

@post.comments = @comments ; @post.save

答案 2 :(得分:2)

不确定你究竟是什么意思,但也许这会有所帮助:

@post.comments << @comments

答案 3 :(得分:1)

您问题的简单答案是

@post.comments = @comments

但是,您可能需要仔细检查创建评论的准确程度。更有可能需要一次创建一个注释,在这种情况下,您可以简单地执行以下操作

@post.comments.create!(:body => "foo")

这将为您的帖子添加新评论