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キーが構成されていないと言っていますが、ルートの.bashrcとデプロイの.bashrcにキーを設定しました(デプロイもユーザーです)
が、sshlikeを介してサーバーにアクセスしssh root@serverて開始しようとするとcapistranoのタスクが発行したのと同じコマンドでユニコーン、すべてが正常に動作します... capistranoにrootユーザーを設定し、 trueとfalseの
両方でユーザーをデプロイしようとしました... ここで何が欠けていますか? ありがとうuse_sudo

4

1 に答える 1

1

手動で実行する場合、本番モードで実行していることを確認しますか?undefined methodnil:NilClass`のxxxx'は、nil変数がある場合に発生します。多くの場合、次のようなコード...

Articles.each do |article|
  article.title
end

dbは環境ごとに異なる方法で入力されるため、同じエラーで失敗します。application_controller.rb5行目を見て、その変数が本番環境と開発環境の両方に存在するかどうかを確認することをお勧めします。

また、bugsnapapiキーがproduction.rbファイルで使用可能であることを確認してください。

于 2012-08-11T05:19:58.067 に答える