Ruby on rails 如何捕获Rails3中config/initializer下的所有ActiveRecord::错误
我正在尝试将我的应用程序配置为打印应用程序中任何ActiveRecord对象的错误。这样我就可以避免在所有事务位置打印每个对象的错误消息。有没有办法做到这一点 需要这样的东西吗 在配置/初始值设定项中Ruby on rails 如何捕获Rails3中config/initializer下的所有ActiveRecord::错误,ruby-on-rails,ruby-on-rails-3,activerecord,error-handling,Ruby On Rails,Ruby On Rails 3,Activerecord,Error Handling,我正在尝试将我的应用程序配置为打印应用程序中任何ActiveRecord对象的错误。这样我就可以避免在所有事务位置打印每个对象的错误消息。有没有办法做到这一点 需要这样的东西吗 在配置/初始值设定项中 ActiveRecord::Base.class_eval do # For each active_record object in my app if self.errors.any? puts self.errors.inspect end end 我相信你想
ActiveRecord::Base.class_eval do
# For each active_record object in my app
if self.errors.any?
puts self.errors.inspect
end
end
我相信你想把所有的AR错误都放在一个地方 一种方法是使用
rescue\u from
。只需在应用程序控制器中执行类似操作
class ApplicationController < ActionController::Base
protect_from_forgery with: :exception
#your normal code
rescue_from Exception do |exeception|
#check if this is a AR exception
#if yes then
#log it in a different log file
#if not
# yield (to follow the default exception chain)
end
end
class ApplicationController
更合适的方法是将其放在模块中,并将其包含在applicationcontroller
中
HTH不清楚你在问什么。。。你能给我们举一个你所期望的行为的例子吗?甚至可能是一些伪代码?再一次-这对我来说似乎没有意义。。。您希望何时调用看跌期权?我问的原因是错误只存在于活动记录的单个实例上。。。只是转瞬即逝。这一秒出现了一个错误,因为有人试图更新,比如说用户模型的用户名-但是太短了。。。但是下一秒——用户放弃了编辑,或者修复了错误——错误就消失了。。。。何时要执行此错误检查?