0

本番環境でnginx + unicornを使用しています

log/unicorn.log で次のエラーが発生しましたが、localhost では問題なく動作しています (開発環境と運用環境の両方で)。

I, [2012-07-01T19:20:39.905978 #15422]  INFO -- : Refreshing Gem list
E, [2012-07-01T19:20:40.526582 #15418] ERROR -- : uninitialized constant ApplicationController::CanCan (NameError)

ライン用

rescue_from CanCan::AccessDenied do |exception|

Gemfileに gem 'cancan' があります(gem 'rails' の下)。Cancan gem をインストールします。バージョン1.6.7と1.6.8の両方を試しました

current$ bundle exec gem list cancan

*** LOCAL GEMS ***

cancan (1.6.7)

current$ bundle exec rails -v
Rails 3.2.3

current$ ruby -v
ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-linux]

current$ bundle exec rails c production
Loading production environment (Rails 3.2.3)
1.9.3p125 :001 > CanCan
 => CanCan 
1.9.3p125 :002 > 

構成の何が問題になっている可能性がありますか?

更新: require 'cancan'原因application_controllerエラーNo such file to load -- cancan (LoadError)

私のGemfile

4

1 に答える 1

1

unicorn再起動時に新しい宝石をロードしないと思います。

/etc/init.d/unicorn_<project_name> stop
/etc/init.d/unicorn_<project_name> start

問題を解決する

于 2012-07-12T06:01:51.387 に答える