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