如果许多其他属性不为 0,我正在使用 before_save 回调方法将属性设置为 true。当我更新我的模型但未设置额外属性时调用回调。我认为这可能是因为该属性没有传递给更新方法。我该如何解决这个问题?
Controller
@blog.update(blog_params)
型号
before_save do
self.indicator = true unless attribute_1 == "0" && attribute_2 == "0"
end
最佳答案
您可以考虑改用 before_validation
。 Rails 会在调用 before_save
之前调用 before_validation
回调,因此如果您需要确保设置了一个值,那么就可以这样做。
关于ruby-on-rails - 更新属性 before_save 回调不保存额外的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19707565/