rake - rake 任务的新格式是什么? (任务 :t, arg,:needs => [deps] versus task :t, [args] => [deps])

标签 rake ruby-on-rails-3.1

我正在使用 Rails 3.1 beta 以及 Ruby 1.9.2 和 rake 0.9.2,并且我编写了一堆 rake 任务。这是一个例子:

namespace :data do
  desc "dump the nodes and edges for a graph"
  task :dump_graph, :species_id, :needs => :environment do |t,args|
    args.with_defaults(:species_id => 'Hs')
    # ...
  end
end

但是,当我的 Rails 应用程序加载这些 rake 任务时,我现在会收到每个 rake 任务重复一次的以下警告:

    at /home/user/railsapp/lib/tasks/data/dump_graph.rake:3:in `block in <top (required)>'
WARNING: 'task :t, arg, :needs => [deps]' is deprecated.  Please use 'task :t, [args] => [deps]' instead.

我尝试过以几种不同的方式重新排列参数,但我不清楚我的任务现在应该是什么样子。

rake 是否希望我提供单独的依赖项?如果 dep 是 Rails 环境,如何在 rake 任务中定义这些?

更新文档的链接将是一个可接受的答案!我用谷歌搜索了一遍,但没有成功。

(是的,我意识到错误消息中给出了格式。但是根据我尝试过的变体,该格式似乎不正确。)

最佳答案

我知道有时很难破译,但错误消息会为您提供新的格式:

task :t, [args] => [deps]

举个例子:

task :dump_graph, :species_id => :environment

http://www.postal-code.com/binarycode/2011/06/02/rake-needs-deprecated/

关于rake - rake 任务的新格式是什么? (任务 :t, arg,:needs => [deps] versus task :t, [args] => [deps]),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6270671/

相关文章:

ruby-on-rails - 推送到 Heroku 时出现 Rails 3.1 Sqlite3 错误

ruby-on-rails - 从 Rakefile/Ruby on Rails 3 中的模型访问类方法

ruby-on-rails - 奇数 rake db :migrate output

ruby-on-rails - rake 任务中的 def block

sql - 我该如何编写这个该死的 SQL 查询?

ruby-on-rails - 在 Rails 3 中突出显示当前页面的最佳方式? -- 有条件地将 css 类应用于链接

mysql - 如何在 Rails 中测试或调试我的迁移脚本?

ruby-on-rails - rake 命名空间与 ruby​​ 模块

ruby-on-rails - 如何在 mongoid 中使用 AND 条件进行查询

ruby-on-rails - 使用 Rails 3 和 Jquery 实现无限滚动