刷新配置后的Rails初始化

问题描述:

environment.rb,导轨被配置为在初始化块:刷新配置后的Rails初始化

Rails::Initializer.run do |config| 
    config.action_mailer.smtp_settings = SETTINGS 
end 

这传播到各种配置设置推入框架类等的ActionMailer :: Base.smtp_settings。

如果我需要重新配置这个Initializer.run块之外,我可以设置:

Rails.configuration.action_mailer.smtp_settings = NEW_SETTINGS 

但在这种情况下,它不是在的ActionMailer :: Base.smtp_settings回升。

有没有办法让Rails再次“推”它的更新配置?还是最好直接重新配置ActionMailer :: Base,而不用担心Rails.configuration与它不同步?

你应该只使用ActionMailer :: Base类。使用Rails.configuration的要点是能够在加载实际代码之前设置各种选项。如果您之后需要更改某些内容,则不需要使用Rails.configuration。