Doc*_*awk 19 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
Run Code Online (Sandbox Code Playgroud)
但是,当我的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.
Run Code Online (Sandbox Code Playgroud)
我已经尝试过以几种不同的方式重新排列论据,但我不清楚我的任务应该是什么样子.
耙子是否希望我给出个人依赖?如果dep是rails环境,如何在rake任务中定义这些?
更新文档的链接将是一个可接受的答案!我用谷歌搜索和谷歌搜索,但没有运气.
(是的,我意识到格式是在错误消息中给出的.但根据我尝试过的变化,这种格式似乎不正确.)
小智 10
我知道它有时很难破译,但错误信息为您提供了新的格式:
task :t, [args] => [deps]
Run Code Online (Sandbox Code Playgroud)
所以对于你的例子:
task :dump_graph, :species_id => :environment
Run Code Online (Sandbox Code Playgroud)
http://www.postal-code.com/binarycode/2011/06/02/rake-needs-deprecated/
小智 9
对我有用的用法是:
task :task_name, [:argument] => :environment
Run Code Online (Sandbox Code Playgroud)
我想如果你有几个依赖列表,deps将需要数组表示法.
我不知道为什么单个参数需要数组符号 - 使用--trace运行rake任务会给出一个错误:参数符号没有响应空?方法.
| 归档时间: |
|
| 查看次数: |
5400 次 |
| 最近记录: |