0

当我通过 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密钥,但是我已经在我的root的.bashrc和deploy的.bashrc上设置了密钥(deploy也是一个用户)
但是当我通过ssh访问服务器ssh root@server并尝试启动时独角兽与 capistrano 的任务发出的相同命令,一切正常......
我试图在 capistrano 上设置 root 用户并部署用户,无论是use_sudo真还是假......
我在这里错过了什么?
谢谢

4

1 回答 1

1

你确定当你手动运行它时你是在生产模式下运行的吗?undefined methodxxxx' for nil:NilClass` 当你有一个 nil 变量时发生。很多时候代码就像...

Articles.each do |article|
  article.title
end

将失败并出现相同的错误,因为数据库在每个环境中的填充方式不同。我建议查看第 5 行application_controller.rb,看看该变量是否存在于生产和开发中。

此外,请确保您的production.rb文件中存在您的 bugsnap api 密钥。

于 2012-08-11T05:19:58.067 回答