我在生产中使用了nginx + unicorn
我在日志/独角兽处遇到以下错误.log但它在本地主机上工作正常(在环境开发和生产中)
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' 下面)。康康宝石已安装。我已经尝试了 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)
我的宝石文件
我认为unicorn
不会在重新启动时加载新的宝石。
/etc/init.d/unicorn_<project_name> stop
/etc/init.d/unicorn_<project_name> start
修复问题