gpt4 book ai didi

ruby-on-rails - 如何在配置/初始化程序运行后设置 Action Mailer 默认值?

转载 作者:行者123 更新时间:2023-12-03 16:20:49 24 4
gpt4 key购买 nike

我想将电子邮件帐户信息存储在 config.yml 文件中。我正在按照我在网上看到并概述的常见模式将该信息加载到 Rails 配置/初始化程序文件中的常量中 at this RailsCast .我正在尝试使用 config/application.rb 文件中的 config.action_mailer.smtp_settings 为 Action Mailer 设置默认值,遵循 Mat Harvard's Blog 上的示例.启动 Rails 服务器时,我不断收到未初始化的常量错误。我假设 application.rb 在 config/initializers 之前被调用。是否有另一个位置可以在启动期间设置 config.action_mailer.smtp_settings,但在 config/initializers 运行之后?

更新:
我在最初的帖子/问题中可能没有说清楚。我正在读取初始化程序中的 config.yml 文件。此配置文件存储电子邮件帐户信息,例如用户名和密码。我不想将这些信息(用户名和密码)放在 application.rb 或 environment.rb 文件中。我确实尝试将我的代码移动到 environment.rb 文件,但是在启动 rails 时遇到了相同的未初始化常量错误。

我设置操作邮件程序设置的代码如下所示:

  config.action_mailer.smtp_settings = {
:address => APP_CONFIG[:email_config][:address],
:port => APP_CONFIG[:email_config][:port],
:domain => APP_CONFIG[:email_config][:email_domain],
:user_name => APP_CONFIG[:email_config][:user_name],
:password => APP_CONFIG[:email_config][:password],
:authentication => :plain,
:enable_starttls_auto => true
}

config.action_mailer.default_url_options = {
:host => APP_CONFIG[:email_config][:host]
}

我正在读取 config.yml 文件以在 load_config.rb 初始值设定项中设置 APP_CONFIG 常量。该文件包含以下 2 行:
raw_config = File.read(RAILS_ROOT + "/config/config.yml")
APP_CONFIG = YAML.load(raw_config)[RAILS_ENV]

最佳答案

你可以把这样的东西放在初始化程序中:

ActionMailer::Base.default_url_options = { :host => 'mysite.com' }

关于ruby-on-rails - 如何在配置/初始化程序运行后设置 Action Mailer 默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9407653/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com