我正在尝试配置我的应用程序以从我的应用程序中的任何ActiveRecord对象中打印错误。这样我就可以避免在所有事务处理中为每个对象打印错误消息。有没有办法做到这一点?
需要像这样的事情
在config / initializers
中ActiveRecord::Base.class_eval do
# For each active_record object in my app
if self.errors.any?
puts self.errors.inspect
end
end
答案 0 :(得分:0)
我相信您希望将所有AR错误放在一个地方,
一种方法是使用rescue_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
更合适的方法是在模块中将其设置为include
ApplciationController
。
HTH