我们说有一个名为“注释”的模型。不,我们做@comments = Comment.where(name: 'John')
。接下来,我们做comment = Comment.find_or_create_by(...)
。 Rails中是否可以将comment
联接到@comments
?对于数组,我可以做@comments << comment
,但我想要activeRecords ...
@comments.inspect
返回"#<ActiveRecord::Relation []>"
我正在使用Rails 5.1.3
谢谢安德里亚斯
答案 0 :(得分:0)
您应该在询问之前尝试!
活动记录关系具有数组可以使用的每种方法,因此您要做的就是:
@comments << comment
或
@comments.push(comment)
编辑:已经尝试了上述方法,但是似乎对我有用,但是另一种解决方案:
ids = @comments.collect(&:id)
@comments = Comment.where(id: (ids + comment.id))
这将从@comments中的每个记录中获取ID,然后将其添加到其他评论的ID中,然后返回该ID在该范围内的所有评论
答案 1 :(得分:0)
@comments
将是Comment
实例的数组。 comment
将是Comment
的实例。因此,进行@comments << comment
没什么错,它将达到您想要的结果。
答案 2 :(得分:0)
是的,你可以做这样的事情 如果您要使用活动记录格式的数据。
Comment.where(conditions).or(Comment.where(id: 1))
所有解决方案的其余部分都很复杂,或者以数组形式提供数据。