【问题标题】:command line arguments rake task wrong number of arguments命令行参数 rake 任务错误的参数数量
【发布时间】:2015-01-08 12:18:59
【问题描述】:

我有一个非常简单的 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

【问题讨论】:

  • Rails.application.config.method 正在制造问题

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


【解决方案1】:

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

【讨论】:

  • 认为这是一个可能的原因,我也将方法名称更改为 cat_method,但它也失败了。我从 CVS 中重新提取了整个文件,然后使用方法名称 cat_method 从头开始​​编写此任务,它可以工作。
猜你喜欢
  • 1970-01-01
  • 2010-10-23
  • 2015-06-25
  • 1970-01-01
  • 2017-08-02
  • 1970-01-01
  • 2017-09-22
  • 2020-12-28
  • 2021-08-09
相关资源
最近更新 更多