【问题标题】:Identifying environmental variables in a rails app在 Rails 应用程序中识别环境变量
【发布时间】:2017-09-25 20:23:07
【问题描述】:

我继承了一个 Rails 应用程序。我的 production.rb 文件有以下内容:

  ActionMailer::Base.smtp_settings = {
    port:            587, 
    address:         "smtp.sendgrid.net",
    user_name:       ENV['NF_SENDGRID_USERNAME'],
    password:        ENV['NF_SENDGRID_PASSWORD'],
    domain:          ENV['NF_SENDGRID_DOMAIN'],
    authentication:  :plain,

这个应用程序没有使用 figaro gem,我已经登录到服务器 (Ubuntu) 并为部署者和 root 用户发出了 printevn 并且看不到这些变量。如何从生产环境中发现这些?

【问题讨论】:

  • 它们可能会在启动时传入(与启动命令一起)。应用如何启动?
  • 在不同的情况下,您可以简单地编辑您显示摘录的文件并添加例如Rails.logger.warn ENV['NF_SENDGRID_USERNAME']
  • ????不确定何时询问应用程序是如何启动的?应用程序正在使用 Capistrano。这能回答你的问题吗?
  • 你在哪里添加了那些 ENV 变量? Rails 不会创建它们,但如果已定义,则读取它们。

标签: ruby-on-rails sendgrid


【解决方案1】:

想通了。这些是在 /current/.rbenv-vars 服务器上的部署文件夹中配置的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-01
    • 1970-01-01
    • 2021-08-10
    • 1970-01-01
    • 1970-01-01
    • 2017-07-21
    • 1970-01-01
    相关资源
    最近更新 更多