Ruby on Rails - 抑制错误消息

时间:2011-04-14 22:11:57

标签: ruby-on-rails-3

我正在使用Rails 3和AJAX,并且有一个通过和AJAX请求创建的父对象。这个父母与孩子一起发送并将他们全部保存。但是,如果孩子有错误,Rails将停止请求。有没有办法告诉Rails忽略这个?我理解正确的做法是在发送请求的Javascript中找到问题并修复它。但是,为了学习,有没有办法告诉Rails一些错误可能是可以忽略的?

2 个答案:

答案 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()

希望这有帮助。