Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在rake任务ActiveRecord模型和参数中使用_Ruby On Rails_Ruby_Activerecord_Rake - Fatal编程技术网

Ruby on rails 如何在rake任务ActiveRecord模型和参数中使用

Ruby on rails 如何在rake任务ActiveRecord模型和参数中使用,ruby-on-rails,ruby,activerecord,rake,Ruby On Rails,Ruby,Activerecord,Rake,在rake任务中,我使用如下参数: namespace :foo do task :bar, [:arg1] do |t, args| puts args[:arg1] end end namespace :foo do task :bar => :environment, [:arg1] do |t, args| puts args[:arg1] end end 我想使用ActiveRecord模型,我添加了如下内容: namespace :foo d

在rake任务中,我使用如下参数:

namespace :foo do
  task :bar, [:arg1] do |t, args|
    puts args[:arg1]
  end
end
namespace :foo do
  task :bar => :environment, [:arg1] do |t, args|
    puts args[:arg1]
  end
end
我想使用ActiveRecord模型,我添加了如下内容:

namespace :foo do
  task :bar, [:arg1] do |t, args|
    puts args[:arg1]
  end
end
namespace :foo do
  task :bar => :environment, [:arg1] do |t, args|
    puts args[:arg1]
  end
end
当我运行rake foo:bar[1]时,它会以错误结束:

rake aborted!
SyntaxError: /home/ironsand/rails_project/lib/tasks/foo.rake:2: syntax error, unexpected keyword_do_block, expecting =>
  task :bar => :environment, [:arg1] do |t, args|
在rake任务中,我应该如何同时使用ActiveRecord模型和参数?

正确的语法是:

namespace :foo do
  task :bar, [:arg1] => :environment do |t, args|
    puts args[:arg1]
  end
end