Rake タスクを作成していて、引数の 1 つとして配列を渡したいと考えています。これが私が現在持っている方法です。
task :change_statuses, :ids, :current_status, :new_status do |task, args|
puts "args were #{args.inspect}"
end
私はこれらの方法でタスクを実行しようとしました:
# First argument as array
rake "change_statuses[[1,2,3], active, inactive]"
# First argument as string
rake "utility:change_account_statuses['1,2,3', foo, bar]"
私の予想される出力は次のようになります。
args were {:ids=> [1,2,3], :current_status=> 2 , :new_status=> 3}
ただし、それぞれの場合の実際の出力は次のとおりです。
args were {:ids=>"[1", :current_status=>"2", :new_status=>"3]"}
配列を Rake タスクに渡すにはどうすればよいですか?