6

找不到在模型级别添加此构造的任何体面的方法。

主要目的是执行“insert_or_update”,但不想从 ActiveRecord 层读取 => 检查存在 => 写入或更新。

任何指针?

虽然找到了一些相关的已弃用代码。

http://apidock.com/rails/ActiveRecord/Base/create_or_update http://apidock.com/rails/ActiveRecord/Base/update_attributes

4

1 回答 1

-2

您在first_or_initialize之后,您可以将其与 where 结合使用,如下所示:

instance = Model.where(:attr1 => 'value1').first_or_initialize(:attr2 => 'value2')
# do something with instance
instance.save

如果在保存之前不必对实例进行操作,也可以使用first_or_create

于 2013-07-16T19:51:38.910 回答