所以我在rake任务上得到了一些“Uninitalized constants”,我做了一些谷歌搜索,发现需要加载环境变量。但是我也使用命令行参数,我不确定定位是否正确或什么:
desc "Wipes Specific User"
task :clean_user => environment [:user] do |t, args|
puts "Running clean_user for #{args[:user]}..."
Core::Stuff.find(args[:user]).wipe_user
end
如果没有环境变量,我会抱怨Core :: Stuff未初始化,但我试图传递:用户通过CL。 (这只是一个示例rake任务,以确保工作正常)。
我错过了什么吗?
编辑:修复问题:
task :clean_user, [:user] => :environment
但是现在它似乎将我的PATH加载到参数中(我得到一个错误抱怨“Core :: Stuff无法找到ID为”的用户ID。“所以它就像是使用我的CL路径作为ID?
答案 0 :(得分:4)
gem中的文档指定:
任务task_name,arguments =>依赖
这意味着您的代码必须是:
task :clean_user, [:user] => :environment do |t, args|