假设我有一个名为Post
的记录有很多评论。现在我运行以下代码:
p = Post.new
p.comments.build(:title => 'great')
我现在想通过标题找到该评论。如果记录被保存,我可以做类似的事情
p.comments.find_by_title('great')
但由于它尚未保存,因此它将返回nil(因为它实际上运行了SQL查询)是否有办法在保存之前找到此记录?
谢谢!
great_comment = p.comments.detect{|c| c.title == 'great'}
comment = p.comments.build(:title => "great")
写吧:
new_comment = p.comments.build(:title => 'great')
和new_comment
将是新增加的评论。
或者,您可以执行以下操作:
new_comments = p.comments.select{|x| x.new_record?}
这会给你一个包含所有未保存注释的数组。