问题描述
|
假设我有一个名为“ 0”的记录,其中有很多评论。
现在,我运行以下代码:
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?}
这将为您提供所有未保存评论的数组。