Rails SECRET_KEY_BASE在本地生产环境中返回nil

时间:2016-11-16 10:28:56

标签: ruby-on-rails

我有一个rails应用程序,我想在云端和本地生产。这是为了使离线工作成为可能。 为此,我将本地数据库与云上的数据库同步。哪个是相同的。

然后我当然会在本地计算机和云上安装应用程序。

到目前为止,我已经开发了用于开发的计算机和用于生产的heroku,一切正常。

在生产计算机上,我安装了rubystack并在其上运行应用程序,只要我正在开发,它就能正常工作。

但如果我切换到生产,它就找不到密钥。虽然我有我的秘密文件:

production
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>

无论如何,它适用于生产中的heroku。

回顾一下步骤:

  • 使用ubuntu os在我的计算机上创建我的应用程序

  • 在heroku上设置它并且工作正常

  • 使用Windows操作系统在生产计算机上安装了rubystack,复制了应用程序和数据库并运行了迁移。

如果在生产计算机上,我在控制台上检查生产SECRET_KEY_BASE,它将返回nil。

但是在heroku上工作正常。

我错过了什么?它可以由我的ubuntu计算机和Ruby Stack上的不同ruby配置引起吗?

1 个答案:

答案 0 :(得分:0)

转到https://dashboard.heroku.com/apps/YOUR_APP_NAME/settings,点击Reveal Config Vars并列出SECRET_KEY_BASE后面的值。

然后使用SECRET_KEY_BASE=COPIED_VALUE rails s -e production启动本地服务器。

或者您可以将export SECRET_KEY_BASE=COPIED_VALUE放入.bashrc(取决于您使用过的shell)文件中。