首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Rails控制台和Pow中的环境变量

Rails控制台和Pow中的环境变量
EN

Stack Overflow用户
提问于 2012-05-10 12:06:55
回答 2查看 4K关注 0票数 6

我不能在Rails控制台中访问环境变量,而在应用程序中它们可以工作。

.powenv中,我有export SENDGRID_PASSWORD="123"

config/initializers/mail.rb中有:

代码语言:javascript
运行
复制
ActionMailer::Base.smtp_settings = {
  :password => ENV['SENDGRID_PASSWORD']
}

因此,在控制台中,当我输入UserMailer.welcome_mail.deliver时,会出现一个错误'ArgumentError: SMTP-AUTH requested but secret phrase‘。但是,它会从应用程序成功发送邮件。

如何让环境变量在控制台可用?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-13 23:00:58

您的Rails控制台无法访问环境变量,因为Pow将信息从 .powenv.powrc文件传递到 Rails ...Rails不会自己读取这些文件。

换句话说,您在.powenv文件中设置了ENV['SENDGRID_PASSWORD']变量,但是当您启动Rails控制台时,该文件并没有受到影响。

您需要在应用程序控制器中设置一个before_filter来设置ENV['SENDGRID_PASSWORD'] (或者想出另一种类似的方法从Rails应用程序的before_filter中读取.powenv文件)。

票数 4
EN

Stack Overflow用户

发布于 2013-01-26 00:03:01

试一试

代码语言:javascript
运行
复制
. .powenv

然后

代码语言:javascript
运行
复制
rails c

(dot是在当前环境下运行脚本的命令)

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10527372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档