如何找到尚未保存在Rails中的记录?

问题描述

| 假设我有一个名为“ 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?}
这将为您提供所有未保存评论的数组。