Rake Task环境变量w /命令行参数

时间:2016-08-04 14:53:51

标签: ruby-on-rails ruby rake

所以我在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?

1 个答案:

答案 0 :(得分:4)

gem中的文档指定:

  

任务task_name,arguments =>依赖

这意味着您的代码必须是:

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