2016-08-04 48 views
1

所以我在我的rake任务中收到了一些“Uninitalized constants”,并且我做了一些Google搜索,发现需要加载环境变量。但是,我也使用命令行论证和IM不知道,如果定位是正确的或者是什么:Rake任务环境变量w /命令行参数

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 

没有环境变量的地方,我得到抱怨核心::东西是未初始化的,但是我试图通过:用户通过CL。 (这只是一个示例rake任务,以确保工作正常)。

我错过了什么吗?

编辑:固定的问题与: task :clean_user, [:user] => :environment但是现在看来要装我的路径进入参数(我得到一个错误抱怨如何“核心::东西无法找到的ID的用户ID‘’所以这是。 ?就像它的使用我的CL路径作为ID

回答

2

在创业板上市的文档说明:

task task_name, arguments => dependencies

这意味着你的代码需要:

task :clean_user, [:user] => :environment do |t, args| 
+0

我想我t可能是:环境(否则它会抱怨:“未定义的局部变量或方法'环境'”),奇怪的是,它正在用我的CL路径加载我的.find(args [:user])?错误:“找不到Core :: Stuff'id'= /Users/me/Documents/Project/lib/tasks/clean_user.rake”这就像它使用我的环境变量作为参数(我正在运行rake任务为rake clean_user msmith1114

+0

yep - 好赶 – Anthony

+0

任何想法为什么它加载我的路径到:用户参数? – msmith1114