我正在尝试使用“config.consider_all_requests_local”标志仅在生产模式下生成动态错误页面。
我已使用以下代码设置config / environments / development.rb文件:
config.consider_all_requests_local = true
在app / controllers / application_controller.rb中我添加了这一行。 (和:render_error,:我没有在下面包含的render_not_found方法)
unless config.consider_all_requests_local
rescue_from Exception, :with => :render_error
rescue_from ActiveRecord::RecordNotFound, :with => :render_not_found
rescue_from ActionController::RoutingError, :with => :render_not_found
rescue_from ActionController::UnknownController, :with => :render_not_found
end
无论如何,似乎在application_controller.rb中,标志始终为false。 except子句一直被调用。我一直试图弄清楚这一点,假设由于config / environments / development.rb文件,该标志会自动设置为true。
我通过在除非子句上方添加标志声明来测试,这似乎影响是否调用了除非子句。所以我猜这个标志没有在config / environments / development.rb中设置,或者从app / controllers / application_controller.rb里面看不到它
任何人都知道问题是什么?谢谢!
答案 0 :(得分:2)
环境/ * .rb中引用的配置对象可通过
访问Rails.application.config