【发布时间】:2014-12-05 11:53:28
【问题描述】:
我正在尝试从我的应用程序的 rake 任务中添加 gem (geocoder https://github.com/alexreisner/geocoder) 中的 rake 任务,因为我希望它在数据库构建后立即运行。
所以我在 rakefile 中有这段代码
task :geolocal do
spec = Gem::Specification.find_by_name 'geocoder'
load "#{spec.gem_dir}/lib/tasks/geocoder.rake"
puts '##################GEOCODING##############'
Rake::Task["geocode:all CLASS=ProposedAccomodation"].execute
end
只要关注这个问题Ruby Rake load tasks from a gem 但我一直收到同样的错误
Don't know how to build task 'geocode:all CLASS=ProposedAccomodation'
任何线索我做错了什么?
【问题讨论】:
-
您必须将类作为参数传递才能执行。
-
@phoet 我一小时以来一直在尝试以不同的方式指定参数,在您链接的问题中看到,以及这些stackoverflow.com/questions/825748/…,但我不断收到“请指定一个类(模型)的错误。 stuff_args = {"CLASS" => "ProposedTodo" } 这是我最后尝试的:'Rake::Task["geocode:all"].execute(Rake::TaskArguments.new(stuff_args.keys, stuff_args.values ))'有什么线索吗?
-
它可能是参数的大写名称吗?
标签: ruby-on-rails ruby-on-rails-4 rubygems rake ruby-on-rails-4.1