完全难以接受这一点,并希望一些RoR专家可以提供帮助。
遇到这个奇怪的错误,如果我安装delayed_job gem,我的网站(开发环境)就会停止工作。所有控制器和方法都将显示NameError异常:
NameError in ProductsController#show
cannot remove Object::ClassMethods
我知道它是delayed_job gem,因为如果我将其卸载或注释掉,重启服务器,错误就会消失。
我的gemfile如下所示:
source 'http://rubygems.org'
gem 'rails', '3.0.10'
# Bundle edge Rails instead:
gem 'delayed_job', "2.1.4"
gem 'sqlite3'
gem 'faker', '0.3.1'
gem 'webrat', '0.7.1'
gem 'will_paginate', '3.0.pre2'
gem "amazon_product", "3.0.0.pre.2" #http://code.papercavalier.com/amazon_product/
gem "curb"
gem "authlogic"
gem "omniauth", ">=0.2.6"
gem "faraday"#, ">=0.7.4"
gem "fb_graph"
gem "twitter"#, "~> 1.7.1"
我正在使用Ruby 1.8.7和Rails 3.0.10。
如果你知道可能出现什么问题,请帮助:)
答案 0 :(得分:1)
我弄清楚罪魁祸首是什么。在我的控制器中,我在顶部包含“#include ActionView :: Helpers :: TextHelper”,所以我可以使用truncate函数。包括那显然会导致一些与delayed_job的命名冲突。删除包含解决了我的问题。