【发布时间】:2011-03-15 08:31:05
【问题描述】:
我有一个不是 ActiveRecord 的课程。 该类位于 lib/room/ 下
lib/room/car_painter.rb
class ROOM::CarPainter
def paint_car
...
end
end
然后,我有一个 rake 任务: 在 /lib/tasks/ 下
/lib/tasks/new_car_painting.rake
namespace :new_car do
desc "Paint new cars"
task :paint => :environment do
painter = ROOM::CarPainter.new #ERROR HERE- uninitialized constant
painter.paint_car
end
end
当我运行 rake new_car:paint 时,我收到错误消息“uninitialized constant ROOM::CarPainter”,为什么??
--编辑---
我也尝试使用类函数而不是实例函数,如下所示:
class ROOM::CarPainter
def self.paint_car
...
end
end
和
命名空间:new_car 做
desc "Paint new cars"
task :paint => :environment do
ROOM::CarPainter.paint_car #ERROR HERE- uninitialized constant
end
end
但是我得到了同样的错误信息……为什么又是这样
【问题讨论】:
-
需要
lib/room/car_painter -
不,它包含“未定义的局部变量或方法 `lib' for main:Object”
-
包括该模块,如答案帖子中所示
标签: ruby-on-rails ruby-on-rails-3