gpt4 book ai didi

ruby-on-rails - rails 4 : How to cancel save on a "before_save" callback?

转载 作者:行者123 更新时间:2023-12-03 10:44:15 25 4
gpt4 key购买 nike

我有复杂的模型/表格。我不想重复记录,所以我想合并具有相似属性的记录。如何使用 before_save 回调取消“保存”?这就是我的想法:

class ProductsColor < ActiveRecord::Base


before_save :check_for_similar_record

def check_for_similar_record
if ProductsColor.exist?(color_id: self.color_id, product_id: self.product_id)
# merge values with existing ProductsColor and stop self from saving
end
end

end

最佳答案

为了防止记录被保存,你应该简单地返回 false :

def check_for_similar_record
if ProductsColor.exists?(color_id: self.color_id, product_id: self.product_id)
# merge values
false
else
true
end
end

关于ruby-on-rails - rails 4 : How to cancel save on a "before_save" callback?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23837573/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com