ruby-on-rails - 如何跟踪 ruby-on-rails 验证失败?
问题描述
支持部门的同事经常告诉我,客户由于错误而无法填写此表格。
表单非常大,有时它是合法的错误,有时只是表单的验证问题(从技术上讲不是错误,但可以说是可用性错误)。有时验证本身只是一个错误(例如字段的格式已更改,表单将永远无效)。
我使用 sentry.io 来跟踪错误,但有没有办法跟踪表单验证失败?
我想我可以使用另一个哨兵工具,但我也很想知道我可以对所有表单验证进行特殊回调,以将问题发送到哨兵、电子邮件等
谢谢
解决方案
您需要做的就是从ActiveRecord::RecordInvalid
错误中拯救出来,并对验证失败做任何您想做的事情
begin
complex_form.save!
rescue ActiveRecord::RecordInvalid => invalid
ErrorMailer.delay.send(invalid.record.errors)
end
推荐阅读
- docker - 如何在 Docker v.18.09.3 中停止 docker 之前使用 SystemD 运行 docker 命令
- java - 如何找到可以执行的最大参与者人数?
- dart - 如何在 Flutter with Colors 上设置强制 DropDownButton?
- java - 使用 PDFBox 更快的 PDF 页面尺寸?
- c# - 找不到类型或命名空间名称“OleDbConnection”(您是否缺少 using 指令或程序集引用?)
- javascript - 为什么 Date().toLocaleString 在 nodejs 中返回的值与浏览器不同?
- javascript - 获取“未定义 XMLHttpRequest”
- django - Django + Nginx 项目的 HSTS 标头 - 标头应该由 Django SecurityMiddleware 还是 Nginx 设置?
- selenium - Selenium Web 驱动程序:org.openqa.selenium.NoSuchElementException:没有这样的元素:无法找到元素:
- maven - 可执行文件的 mvn compile 问题