我有一个Rails应用程序,它通过REST界面从另一个应用程序接收新的工作程序。用户还可以通过表单输入新的工作单。
如果通过新表单创建新工单,我想验证用户是否从主管的复选框(选择列表)中选择了一个值。
如果用户更新了工作订单,或者使用REST界面创建了工作订单,我不想验证。
这样可以在创建期间验证,而不是更新:
validate_presence_of :supervisor, :on => :create
但是,如何在通过REST创建记录时不进行验证?
感谢您的帮助!
答案 0 :(得分:0)
attr_accessor :rest
validates_presence_of :supervisor, :on => :create, :if => lambda{ |model| model.rest }
...
respond_to do |format|
format.json do
model.rest = true
...
end
end