当我通过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
之外,unicorn还说没有配置busgnag API密钥,但是我已经在我的root的.bashrc和deploy的.bashrc上设置了密钥(部署也是用户)
但是当我通过像ssh root@server
这样的ssh访问服务器并尝试使用相同的命令启动独角兽时,capistrano的任务发布,所以每个都工作正常...
我试图在capistrano上设置root用户并部署用户,use_sudo
为true和false ...
我在这里想念的是什么?
感谢
答案 0 :(得分:1)
您确定手动运行时是否正在生产模式下运行?当你有一个nil变量时,undefined method
xxxx'为nil:NilClass`。通常代码如......
Articles.each do |article|
article.title
end
将失败并出现相同的错误,因为db在每个环境中的填充方式不同。我建议查看第5行application_controller.rb
,看看生产和开发中是否存在该变量。
另外,请确保您的production.rb
文件中提供了bugsnap api密钥。