5

情况

我有一个类似于的 rake 任务

desc "A rake Task"
task :give_me_gold, [:quantity,:quality] => :environment do |task, args|
 ....
end

我从您输入的命令行中知道

rake give_me_gold[10,24] 

将参数传递给 rake 任务。但是,当 RubyMine 运行任务时,它会像这样运行它:

rake give_me_gold[quantity,quality] --trace 10,24

重现步骤

  1. 创建一个接受参数的 rake 任务。
  2. 安装 RubyMine 3.0 版
  3. 在 RubyMine 中,单击工具->运行 Rake 任务
  4. 输入您的 rake 任务名称。它应该显示为“task[option,option]”并按回车
  5. 将出现一个对话框并询问参数。填写并回车
  6. 观察 RubyMine 运行的命令。

回到我的问题

如何在 RubyMine 3.0 中将参数传递给 rake 任务?

感谢您抽出宝贵时间查看此问题

4

3 回答 3

2

这是 RubyMine 中的一个错误。请参阅jetbrains.net 上的问题 #8527

于 2011-11-10T02:10:16.920 回答
1
task :give_me_gold do
  quantity = ENV['quantity']
  quality  = ENV['quality']
  puts "quantity: #{quantity}, quality: #{quality}"
end 

rake give_me_gold quantity=10 quality=24
#=> quantity: 10, quality: 24

更新

task :give_me_gold, :quantity, :quality do |t, args|
  puts "Args were: #{args}"
  quantity = args['quantity']
  quality  = args['quality']
  puts "quantity: #{quantity}, quality: #{quality}"
end

rake give_me_gold[10,24]
#=> quantity: 10, quality: 24
于 2011-02-27T20:46:27.343 回答
0

将输入与环境一起传递的好方法是:

**task :upload, [:path] => [:environment] do |t, args|

puts args
YOUR_MODEL.method(args)

结尾 **

于 2013-01-14T10:14:23.860 回答