2015-01-08 36 views
0

我有一個非常簡單的rake任務,由以下this tutorial創建。 rake任務是:命令行參數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

+2

'Rails.application.config.method'創建問題 – Salil

回答

1

問題是行Rails.application.config.method。標準方法Kernel#method用於檢索方法對象和(種類)保留字,因爲它是在所有對象上定義的。要解決此問題,您必須以不同的方式命名您的自定義配置,例如Rails.application.config.cat_method

+0

認爲這是一個可能的原因,我也將方法名稱更改爲cat_method,但它也失敗了。我重新從CVS中提取整個文件,然後使用方法名稱cat_method從頭開始編寫這個任務,它可以工作。 – inquisitive