Rails 4初始化程序未加载

Trt*_*Trt 6 ruby ruby-on-rails-4

我想把我的电子邮件密码放在.yml文件中.

config/initializers我有一个文件emailers_config.rb

require 'yaml'
EMAIL_CONFIG = YAML.load(File.read(Rails.root + "config/mailer_config.yml"))
Run Code Online (Sandbox Code Playgroud)

在我的config/mailer_config.yml身上:

#production password
smtp_password_pro: foo
#devevopment env password
smtp_password_dev: bar
Run Code Online (Sandbox Code Playgroud)

现在看来我的初始化没有运行,因为我得到了这个 uninitialized constant EMAIL_CONFIG (NameError)

现在Rails应该在initializers文件夹下提供所有内容,因此加载文件不是问题.

这有什么不对?

Зел*_*ный 1

我不知道你的问题的答案,但我可以推荐另一种方法
密码可以更容易地存储和.env归档 https://i.stack.imgur.com/jbcAO.png
像这样

#Root dir create file ".env"
PASSWORD=123456
Run Code Online (Sandbox Code Playgroud)

并加载密码

#Somewhere in app
ENV['PASSWORD'] #=> 123456
Run Code Online (Sandbox Code Playgroud)

它有效我希望能帮助你

在此输入图像描述