当我通过 capistrano 任务启动独角兽并尝试访问我的应用程序时,我得到这个
tarted GET "/" for xx.xxx.xxx at 2012-08-11 01:38:31 +0000
Processing by HomeController#index as HTML
Rendered home/index.html.erb within layouts/application (0.1ms)
Completed 500 Internal Server Error in 87ms
** [Bugsnag] No API key configured, couldn't notify
ActionView::Template::Error (undefined method `split' for nil:NilClass):
32: </form>
33: </ul>
34: <ul class="nav pull-right">
35: <% if user_signed_in? %>
36: <li class="dropdown">
37: <a href="#" class="dropdown-toggle" data-toggle="dropdown">
38: <%= current_user.name %>
app/controllers/application_controller.rb:5:in `current_user'
app/controllers/application_controller.rb:9:in `user_signed_in?'
app/views/layouts/application.html.erb:35:in `_app_views_layouts_application_html_erb__3931886679734892787_26070680'
除了ActionView::Template::Error
,独角兽说没有配置 busgnag API 密钥,但我已经在我的根的 .bashrc 和部署的 .bashrc 上设置了密钥(部署也是用户)
但是当我像ssh root@server
一样通过 SSH 访问服务器并尝试使用与 Capistrano 的任务相同的命令启动独角兽时,一切都工作正常......
我尝试在 capistrano 上设置 root 用户并部署用户,use_sudo
真和假......
我在这里错过了什么?
谢谢
您确定手动运行它时是在生产模式下运行吗? undefined method
xxxx' for nil:NilClass' 发生在你有一个 nil 变量时。很多时候代码像...
Articles.each do |article|
article.title
end
将失败并显示相同的错误,因为数据库在每个环境中的填充方式不同。我建议查看第 5 行application_controller.rb
,看看该变量是否存在于生产和开发中。
此外,请确保您的 bugsnap api 密钥在production.rb
文件中可用。