Rails:发生了未处理的低级错误.应用程序日志可能包含详细信息

Pav*_*vel 5 ruby capistrano ruby-on-rails puma capistrano3

我在我的服务器上做了这个:

deploy@ubuntu-512mb-ams2-01:~/applications/spa_backend/current$ bundle exec rake secret
4b921910**
deploy@ubuntu-512mb-ams2-01:~/applications/spa_backend/current$ export SECRET_KEY_BASE=4b921910**
deploy@ubuntu-512mb-ams2-01:~/applications/spa_backend/current$ irb
irb(main):001:0> ENV["SECRET_KEY_BASE"]
=> "4b921910**"
Run Code Online (Sandbox Code Playgroud)

当我尝试使用我的应用程序打开链接时,我看到了:

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

puma_error.log:

#<RuntimeError: Missing `secret_key_base` for 'production' environment, set this value in `config/secrets.yml`>
/home/deploy/applications/spa_backend/shared/bundle/ruby/2.3.0/gems/railties-5.0.0.1/lib/rails/application.rb:513:in `validate_secret_key_config!'
/home/deploy/applications/spa_backend/shared/bundle/ruby/2.3.0/gems/railties-5.0.0.1/lib/rails/application.rb:246:in `env_config'
Run Code Online (Sandbox Code Playgroud)

secrets.yml:

production:
  secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
Run Code Online (Sandbox Code Playgroud)

UPD.我改变了<%= ENV["secret_key_base"] %>- > <%= ENV["SECRET_KEY_BASE"] %>但它没有帮助

tre*_*iff 8

在您secrets.yml的环境中,您的环境变量键需要大写.呼叫ENV['secret_key_base']正在返回nil.

修改你的secrets.yml喜欢如下:

production:
  secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
Run Code Online (Sandbox Code Playgroud)


Nye*_*ein 5

您必须首先产生“ secret_key_base”。

bundle exec rake secret
Run Code Online (Sandbox Code Playgroud)

上面的代码将产生必要的密钥。复制它,并用它替换<%= ENV [“ SECRET_KEY_BASE”]%>。

这是原始帖子:

发生未处理的低级错误。应用程序日志可能包含详细信息