如何确定 Rails 是否已加载完整环境?例如,特定于环境的配置已完全加载。
我的根本问题是我正在安装一个钩子来捕获特定于环境的配置中的某些异常,但我不想在配置仍在加载时捕获任何异常,以免掩盖任何配置问题。
我发现了一些不令人满意的方法来做到这一点,例如在配置完全加载之前(和之后)Rails.application.config.middleware
将是一个实例,但必须有更直接的方法。MiddlewareStackProxy
MiddlewareStack
如何确定 Rails 是否已加载完整环境?例如,特定于环境的配置已完全加载。
我的根本问题是我正在安装一个钩子来捕获特定于环境的配置中的某些异常,但我不想在配置仍在加载时捕获任何异常,以免掩盖任何配置问题。
我发现了一些不令人满意的方法来做到这一点,例如在配置完全加载之前(和之后)Rails.application.config.middleware
将是一个实例,但必须有更直接的方法。MiddlewareStackProxy
MiddlewareStack
以下是加载顺序,在我看来,您可能需要在“初始化程序完成”之后设置自己的环境变量,然后在您的代码中检查是否已设置。 http://guides.rubyonrails.org/v2.3.11/configuring.html
Preinitializers
environment.rb
Environment-specific Configuration Files
Initializers (load_application_initializers)
After-Initializers
由于您的所作所为,除了消化这部分文档(参见 1.14 左右),我别无他法:http: //guides.rubyonrails.org/initialization.html#config-environment-rb