在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与它不同步?
答案 0 :(得分:1)
您应该只使用ActionMailer :: Base类。使用Rails.configuration的目的是能够在加载实际代码之前设置各种选项。如果之后需要更改某些内容,则无需使用Rails.configuration。