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)

我的宝石文件

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 回答