2015-02-23 37 views
5

使用本书Learn Ruby on Rails时,我遇到了连接到Google Drive的教程部分,以将表单提交保存到电子表格。Rails应用程序中的环境变量为零(无法连接到Google Drive)

我无法验证w/Google,因为Rails.application.secrets.email_provider_usernameRails.application.secrets.email_provider_password都是零。更具体地说,它看起来像我的Rails应用程序没有看到我的任何环境变量。

我已经验证了这两个变量的设置是否正确:

ynkwinl-ujurvt0:learn-rails katie$ printenv | grep GMAIL_USERNAME 
[email protected] 

而且从控制台:

learn-rails :001 > ENV["GMAIL_USERNAME"] 
=> "[email protected]" 

但是,试图通过Rails的访问它:

learn-rails :001 > Rails.application.secrets.email_provider_username 
=> nil 

的相关的保密信息.yml:

email_provider_username: <%= ENV["GMAIL_USERNAME"] %> 

我一直坚持这一个小时,并找不到答案(关于此主题的上一个问题涵盖了一个稍有不同的方案)。

我已经通过将我的用户名/密码硬编码到secrets.yml文件中解决了这个问题,但我想了解将来参考的内容。

全部“secrets.yml”参考文件:

development: 

    email_provider_username: <%= ENV["GMAIL_USERNAME"] %> 
    email_provider_password: <%= ENV["GMAIL_PASSWORD"] %> 
    domain_name: example.com 
    mailchimp_api_key: <%= ENV["MAILCHIMP_API_KEY"] %> 
    mailchimp_list_id: <%= ENV["MAILCHIMP_LIST_ID"] %> 
    owner_email: <%= ENV["OWNER_EMAIL"] %> 
    secret_key_base: very_long_random_string 

test: 
    secret_key_base: very_long_random_string 

# Do not keep production secrets in the repository, 
# instead read values from the environment. 
production: 
    email_provider_username: <%= ENV["GMAIL_USERNAME"] %> 
    email_provider_password: <%= ENV["GMAIL_PASSWORD"] %> 
    domain_name: <%= ENV["DOMAIN_NAME"] %> 
    mailchimp_api_key: <%= ENV["MAILCHIMP_API_KEY"] %> 
    mailchimp_list_id: <%= ENV["MAILCHIMP_LIST_ID"] %> 
    owner_email: <%= ENV["OWNER_EMAIL"] %> 
    secret_key_base: <%= ENV["SECRET_KEY_BASE"] %> 
+0

你可以附加secrets.yml的内容吗? – intale 2015-02-23 13:31:52

+0

已添加到原始帖子。 – Katie 2015-02-24 16:26:01

+0

什么都没有想到。唯一的测试环境没有这些密钥。你能否在你的rails控制台执行'Rails.env'来确保你正在加载正确的环境? – intale 2015-02-24 16:59:00

回答

0

尝试:

Rails.application.secrets['email_provider_username'] 
7

我有这个问题,它是由spring运行中,甚至当我退出后台服务器造成的终端中的服务器。

如果这是您的原因,您可以通过运行spring stop来修复它。

+1

在我的终端(不是导轨控制台)运行'春天停止'工程。谢谢! – 2016-02-12 04:15:56

+0

你是救世主!我认为,无论出于何种原因,我的紫茉莉开始出现春季...我甚至没有使用它。谢谢 – manroe 2016-08-25 06:42:32

相关问题