找不到任何在模型级别添加此构造的正确方法。
主要目的是做“insert_or_update”,但不想做read => check existence =>从ActiveRecord层写入或更新。
任何指针?
虽然找到了一些相关的弃用代码。
http://apidock.com/rails/ActiveRecord/Base/create_or_update http://apidock.com/rails/ActiveRecord/Base/update_attributes
答案 0 :(得分:0)
您在first_or_initialize之后,可以将其与where结合使用,如:
instance = Model.where(:attr1 => 'value1').first_or_initialize(:attr2 => 'value2')
# do something with instance
instance.save
如果您在保存之前不必操作该实例,也可以使用first_or_create