ruby-on-rails - Rails SECRET_KEY_BASE 在本地生产环境中返回 nil

标签 ruby-on-rails

我有一个 Rails 应用程序,我想在云和本地的生产环境中运行它。这是为了使其可以离线工作。 为此,我将本地数据库与云上的数据库同步。然后它们是相同的。

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

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

在生产计算机上,我安装了 ruby​​stack 并在其上运行了该应用程序,只要我在进行开发,它就可以正常工作。

但是如果我切换到生产环境,它就找不到 key 。虽然我有我的 secret 文件:

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

无论如何它都可以在生产环境中的 heroku 上运行。

步骤回顾:

  • 使用 ubuntu 操作系统在我的计算机上创建我的应用程序

  • 在 heroku 上设置它,它工作正常

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

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

但在 heroku 上它工作正常。

我错过了什么?会不会是我的ubuntu电脑和Ruby Stack的ruby配置不同导致的?

最佳答案

转到 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)文件中。

关于ruby-on-rails - Rails SECRET_KEY_BASE 在本地生产环境中返回 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40629753/

相关文章:

ruby-on-rails - rails : How not to save value with using time_select

ruby-on-rails - Cucumber/Pickle 语句中的多词模型

ruby-on-rails - 即使我禁用了 ssl 也使用 Rails 3.1 ssl?

ruby-on-rails - 撤消 "rails generate scaffold"后是否需要撤消 "db:migrate"?

ruby-on-rails - 为什么我在使用 `acts_as_taggable_on` 时会收到这个简单的错误?

ruby-on-rails - 在Rails 3中使用accepts_nested_attributes_for保存新记录

ruby-on-rails - 嵌套属性无法使用新父级创建子级

ruby-on-rails - <a> 中的 Ruby on Rails 链接标记不起作用

javascript - Rails 3.2 js.erb 文件转义 JS

javascript - Rails 渲染另一个模型的模式 - 路线或 javascript 问题?