我有一个名为 Product 的模型。
p = Product.new(...) and
p.save
我想完成以下内容:
如果有另一个产品具有相同的 id(不是 pk),那么我们更新产品,否则我们创建一个新产品。
我认为这可以在回调 before_save 中完成!?
我试过这样
before_save :try, on: :create
def try
p = Product.where(id: self.id).first
p and p.update_attributes(...) and return false
*1
end
*1,此时属性已更新,返回false表示未创建新模型,但我认为数据库已回滚,因为未保存更新。