5

状況

私は似たようなレーキタスクを持っています

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から、[ツール] -> [レーキタスクの実行]をクリックします
  4. rakeタスク名を入力します。「task[option、option]」と表示され、Enterキーを押します
  5. ダイアログが表示され、引数を尋ねられます。記入してEnterキーを押します
  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 に答える