Rails update_attribute 替换?

mil*_*raf 3 validation callback update-attribute ruby-on-rails-3

有替代品update_attribute吗?我知道您仍然可以在 Rails 3 中使用它,但是您会收到弃用消息。

我需要使用的原因update_attribute是因为我需要跳过验证但运行回调。

我发现这样做(并避免弃用消息)的唯一方法是简单地从update_attribute以下位置提取代码:

Object.send("#{attribute}=", value)
Object.save(:validate => false)
Run Code Online (Sandbox Code Playgroud)

我想知道是否有另一种(正确的)方法来做到这一点。

谢谢。

ck3*_*k3g 5

我会建议答案是否定的

你不能传递falseupdate_attributes跳过验证。

我会推荐你update_column,但这个方法跳过回调。从你的问题来看,这不是你需要的。

更新:

我在那个演示文稿中发现了一个有趣的表格。我想可以证明我的观点。

更新_(属性|列)s

从这张表来看,满足条件的方法只有一种。