Ruby on rails 在Rails初始值设定项之后重新加载配置

Ruby on rails 在Rails初始值设定项之后重新加载配置,ruby-on-rails,configuration,Ruby On Rails,Configuration,在environment.rb中,rails在初始化程序块中配置: Rails::Initializer.run do |config| config.action_mailer.smtp_settings = SETTINGS end 这将传播以将各种配置设置推送到框架类中,如ActionMailer::Base.smtp_设置 如果我需要在Initializer.run块之外重新配置它,我可以设置: Rails.configuration.action_mailer.smtp_sett

environment.rb
中,rails在初始化程序块中配置:

Rails::Initializer.run do |config|
  config.action_mailer.smtp_settings = SETTINGS
end
这将传播以将各种配置设置推送到框架类中,如ActionMailer::Base.smtp_设置

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

Rails.configuration.action_mailer.smtp_settings = NEW_SETTINGS
但在本例中,它不会在ActionMailer::Base.smtp\u设置中拾取


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

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