命令行参数rake task错误的参数个数

时间:2015-01-08 12:18:59

标签: ruby-on-rails ruby rake rake-task

我有一个非常简单的rake任务,通过跟随this tutorial创建。 rake任务如下:

namespace :abc do
  task :arbitrary => :environment do
    Rails.application.config.method = ENV["CAT_METHOD"] || 1
    Rails.logger.debug "The method is #{Rails.application.config.method}"
  end
end

我将此任务称为:

bundle exec rake abc:arbitrary CAT_METHOD=2

但它给了我这个错误。

ArgumentError: wrong number of arguments(0 for 1)

我做错了什么?我对RoR很新。我正在使用ruby 1.9.3和rails 3.2

1 个答案:

答案 0 :(得分:1)

问题是行Rails.application.config.method。标准方法Kernel#method用于检索方法对象和(类型)保留字,因为它是在所有对象上定义的。要解决此问题,您必须以不同方式命名自定义配置,例如Rails.application.config.cat_method