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

发布于 2024-10-19 08:38:25 字数 769 浏览 7 评论 0原文

情况

我有一个 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 任务名称。它应该显示为“任务[选项,选项]”并按 Enter 键
  5. 将显示一个对话框并询问参数。填写并按 Enter
  6. 观察 RubyMine 运行的命令。

回到我的问题

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

感谢您花时间查看此问题

The situation

I have a rake task similar to

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

I am aware from the commandline you type

rake give_me_gold[10,24] 

to pass parameters to the rake task. However when RubyMine runs the task it runs it like this:

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

Steps to reproduce

  1. Create a rake task that takes arguments.
  2. Have RubyMine installed version 3.0
  3. From RubyMine, click Tools -> Run Rake Task
  4. Input your rake task name. It should show up as "task[option,option]" and press enter
  5. A dialog will show up and ask for arguments. Fill it in and press enter
  6. Observe the command RubyMine runs.

Back to my question

How do you pass arguments to a rake task in RubyMine 3.0?

Thank you for taking the time to view this question

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

我不吻晚风 2024-10-26 08:38:25

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

This is a bug in RubyMine. See Issue #8527 at jetbrains.net

水中月 2024-10-26 08:38:25
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
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

upd

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
审判长 2024-10-26 08:38:25

传递输入和环境的好方法是:

**task :upload, [:path] => [:环境] 执行 |t, args|

puts args
YOUR_MODEL.method(args)

结尾
**

The good approach to pass inputs along with environment is:

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

puts args
YOUR_MODEL.method(args)

end
**

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文