将自定义选项传递给 .save rails 以跳过验证

Passing custom options to .save rails to skip validation

我希望在尝试保存时将逻辑传递给模型以禁用特定验证。

我知道其他解决方案,例如这个:skip certain validation method in Model 这涉及在我想避免的模型上放置一个临时属性。

我希望有一个最终看起来像这样的解决方案:

@my_model.save(:skip_name_validation => true)

^ 在 Rails 3 中有这样的可能吗?

当然你可以通过执行以下技巧来做到这一点:

class YourModel
  attr_accessor :skip_name_validation
  validate :validate_method, unless: :skip_name_validation
end

现在您可以像这样使用它:

@my_model.save(:skip_name_validation => true)