"The methods to call on each RawData", :type => :array def write(methods) end end 私がファイルを経由して呼び出すと thor b12:write"> "The methods to call on each RawData", :type => :array def write(methods) end end 私がファイルを経由して呼び出すと thor b12:write"> "The methods to call on each RawData", :type => :array def write(methods) end end 私がファイルを経由して呼び出すと thor b12:write" />

トールが間違って例外と呼ばれる

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".

問題はどこですか?

0

1 答え

問題を引き起こすことがあるここにいくつかのことが起こっています。

最初に、 methods を使用しています。これはrubyのキーワードです。それはすべてのナンセンスを引き起こすだろう。 my_methods のようなものを使用してください。

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

This works if you call it with: 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
0
追加された