我有一个非常简单的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
答案 0 :(得分:1)
问题是行Rails.application.config.method
。标准方法Kernel#method
用于检索方法对象和(类型)保留字,因为它是在所有对象上定义的。要解决此问题,您必须以不同方式命名自定义配置,例如Rails.application.config.cat_method
。