我有一个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配置引起吗?
答案 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)文件中。