0
class B12 < Thor
  desc "write", "write data into the index"
  method_option :methods, :desc => "The methods to call on each RawData", :type => :array
  def write(methods)
  end
end

経由でファイルを呼び出すとき

thor b12:write --methods=foo

私は得る

"write" was called incorrectly. Call as "thor b12:write".

問題はどこにありますか?

4

1 に答える 1

0

ここでは、問題を引き起こすいくつかのことが起こっています。

まず、methodsrubyのキーワードであるを使用しています。それはあらゆる種類のナンセンスを引き起こすでしょう。のような他のものを使用してくださいmy_methods

my_methods第二に、書き込みに渡す必要はありません。これにより、名前付きオプションではなく、デフォルトオプションが作成されます。したがって、そのコンテキストでthor b12:write fooアクセスしたい場合は、電話をかけます。my_methods

これは、次のように呼び出すと機能します。thor b12:write --my_methods=foo

class B12 < Thor
  desc "write", "write data into the index"
  method_option :my_methods, :type => :array, :desc => "The methods to call on each RawData"
  def write
    puts options.my_methods
  end
end
于 2012-01-19T18:58:14.763 に答える