【问题标题】:OpenShift NextGen and Rails - An unhandled lowlevel error occurredOpenShift NextGen 和 Rails - 发生未处理的低级错误
【发布时间】:2017-04-29 00:13:47
【问题描述】:

我是一名 OpenShift 新手,不久前我设法使用 Next Gen 控制台部署了一个基本的 Rails 应用程序。 我对应用程序做了一些调整,即使用

创建了一个家庭控制器
`rails g controller home index`

并通过将根路由设置为root 'home#index' 而不是get 'home/index' 来更新config/routes.rb 文件。 现在本地rails服务器在开发环境中运行时正确指向索引页面,所以完全没有问题。 但是当我将更新的内容推送到 git 远程存储库并使用

开始新构建时
oc start-build <app>

并使用 OpenShift 生产环境重新加载页面,但没有显示任何内容

An unhandled lowlevel error occurred. The application logs may have details.

编辑:命令oc logs dc/&lt;app&gt; 将此作为“根错误”返回给我:

#<RuntimeError: Missing `secret_key_base` for 'production' environment, set this value in `config/secrets.yml`>

然后我在生产部分的config/secrets.yml 写着:

# Do not keep production secrets in the repository,
# instead read values from the environment.
production:
  secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>

现在我猜这与在 OpenShift 环境中设置环境变量有关。我找到了命令

oc env dc/<app> <ENV_VARIABLE>=<value>

来自this guide。它是正确的吗?如果是,如何生成正确的 SECRET_KEY_BASE 值?

任何帮助当然都非常感谢,谢谢

【问题讨论】:

标签: ruby-on-rails ruby openshift production


【解决方案1】:

解决了。我最终发现rake secret 命令会为您生成一个哈希,然后使用oc env dc/&lt;app&gt; SECRET_KEY_BASE=&lt;hash&gt; 并使用oc start-build &lt;app&gt; 重建应用程序

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-17
    • 2016-09-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多