首页 > 解决方案 > 如何跟踪 ruby​​-on-rails 验证失败?

问题描述

支持部门的同事经常告诉我,客户由于错误而无法填写此表格。

表单非常大,有时它是合法的错误,有时只是表单的验证问题(从技术上讲不是错误,但可以说是可用性错误)。有时验证本身只是一个错误(例如字段的格式已更改,表单将永远无效)。

我使用 sentry.io 来跟踪错误,但有没有办法跟踪表单验证失败?

我想我可以使用另一个哨兵工具,但我也很想知道我可以对所有表单验证进行特殊回调,以将问题发送到哨兵、电子邮件等

谢谢

标签: ruby-on-railsvalidationsentryissue-tracking

解决方案


您需要做的就是从ActiveRecord::RecordInvalid错误中拯救出来,并对验证失败做任何您想做的事情

begin
  complex_form.save!
rescue ActiveRecord::RecordInvalid => invalid
  ErrorMailer.delay.send(invalid.record.errors)
end

推荐阅读