找不到在模型级别添加此构造的任何体面的方法。
主要目的是执行“insert_or_update”,但不想从 ActiveRecord 层读取 => 检查存在 => 写入或更新。
任何指针?
虽然找到了一些相关的已弃用代码。
http://apidock.com/rails/ActiveRecord/Base/create_or_update http://apidock.com/rails/ActiveRecord/Base/update_attributes
找不到在模型级别添加此构造的任何体面的方法。
主要目的是执行“insert_or_update”,但不想从 ActiveRecord 层读取 => 检查存在 => 写入或更新。
任何指针?
虽然找到了一些相关的已弃用代码。
http://apidock.com/rails/ActiveRecord/Base/create_or_update http://apidock.com/rails/ActiveRecord/Base/update_attributes
您在first_or_initialize之后,您可以将其与 where 结合使用,如下所示:
instance = Model.where(:attr1 => 'value1').first_or_initialize(:attr2 => 'value2')
# do something with instance
instance.save
如果在保存之前不必对实例进行操作,也可以使用first_or_create