gpt4 book ai didi

learn-ruby-on-rails - Rails 应用中的环境变量为零(无法连接到 Google Drive)

转载 作者:行者123 更新时间:2023-12-04 18:05:46 24 4
gpt4 key购买 nike

与本书一起工作 Learn Ruby on Rails ,我被困在教程中您连接到 Google Drive 以将表单提交保存到电子表格的部分。

我无法通过 Google 进行身份验证,因为 Rails.application.secrets.email_provider_usernameRails.application.secrets.email_provider_password为零。更具体地说,我的 rails 应用程序似乎没有看到我的任何环境变量。

我已经验证变量设置正确:

ynkwinl-ujurvt0:learn-rails katie$ printenv | grep GMAIL_USERNAME
GMAIL_USERNAME=kjXXXXXX@gmail.com

从控制台:
learn-rails :001 > ENV["GMAIL_USERNAME"]
=> "kjXXXXXX@gmail.com"

但是尝试通过 Rails 访问它:
learn-rails :001 > Rails.application.secrets.email_provider_username
=> nil

secrets.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"] %>

最佳答案

我遇到了这个问题,它是由 spring 引起的即使我在终端中退出服务器,也在后台运行服务器。

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

关于learn-ruby-on-rails - Rails 应用中的环境变量为零(无法连接到 Google Drive),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28666528/

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