我正在使用Rails 3和AJAX,并且有一个通过和AJAX请求创建的父对象。这个父母与孩子一起发送并将他们全部保存。但是,如果孩子有错误,Rails将停止请求。有没有办法告诉Rails忽略这个?我理解正确的做法是在发送请求的Javascript中找到问题并修复它。但是,为了学习,有没有办法告诉Rails一些错误可能是可以忽略的?
答案 0 :(得分:1)
您正在寻找异常处理。
begin
#code that may contain errors
rescue
#what to do if an error is encountered
end
答案 1 :(得分:1)
保存而不验证使用:
@parent.save(:validate => false)
另外,请不要忘记,如果需要,您可以创建条件验证规则。例如,添加一个可通过bare_bones访问的虚拟属性(未保存到DB的实例变量)。然后像这样修改验证器:
validates_presence_of :nickname, :unless => "bare_bones?"
然后,在你的控制器中,你会做这样的事情:
@parent = Parent.new params[:parent]
@parent.bare_bones = true
@parent.save()
希望这有帮助。