Mar*_*rov 6 ruby-on-rails rack-pow
我无法在Rails控制台中访问env变量,而在他们工作的应用程序中.
在.powenv我有export SENDGRID_PASSWORD="123"
在config/initializers/mail.rb那里:
ActionMailer::Base.smtp_settings = {
:password => ENV['SENDGRID_PASSWORD']
}
Run Code Online (Sandbox Code Playgroud)
所以在我输入的控制台中UserMailer.welcome_mail.deliver有一个错误'ArgumentError:SMTP-AUTH被请求但是缺少密码短语'.但是,从应用程序,它成功发送邮件.
如何在控制台中使用env变量?
kub*_*oon 11
尝试
. .powenv
Run Code Online (Sandbox Code Playgroud)
然后
rails c
Run Code Online (Sandbox Code Playgroud)
(dot是在当前环境下运行脚本的命令)
您的 Rails 控制台无法访问环境变量,因为 Pow 将信息从 或文件传递到Rails ...Rails 不会自行读取这些文件。.powenv.powrc
换句话说,您正在文件ENV['SENDGRID_PASSWORD']中设置变量.powenv,但启动 Rails 控制台时并未触及该文件。
您需要before_filter在应用程序控制器中设置一个ENV['SENDGRID_PASSWORD'](或提出另一种类似的.powenv从before_filterRails 应用程序中读取文件的方法)。
| 归档时间: |
|
| 查看次数: |
3309 次 |
| 最近记录: |