1

我有一个 Rails 程序,我需要跳过一个验证步骤,但就是这样。有没有办法设置验证,以便我可以发送带有 object.valid 的参数?告诉对象跳过一个验证。

这是我到目前为止所拥有的:

模型:

validates :event_id, :presence => true, :unless => :skip_event_id

控制器:

 if new_lot.valid(:skip_event_id => :true)?

          .
          .
          .
      end

这给了我 .valid 的语法错误。我只是想知道是否有办法使这项工作。谢谢!

注意:我仍然希望我的所有其他验证继续进行

4

1 回答 1

2

您需要事先设置该变量,不能检查它是否有效。同样,当使用带有问号的方法时,您需要将问号放在括号之前。

模型:

attr_accessor :skip_event_id

控制器:

new_lot.skip_event_id = true
if new_lot.valid?
  # some stuff
end
于 2013-01-29T16:06:28.170 回答