0

HTTParty gem を使用して、私の別の Web サイトにリクエストを投稿しています。私の専用クラスでは、HTTParty のドキュメントに従っていくつかのデフォルトを定義します。

require 'httparty'

class Notifier

  include HTTParty
  base_uri "my_awesome_site.com"
  basic_auth "an_awesome_client", "megasecretkey"

  ...

end

次に、そのようなクラス内でnotify、実際のリクエストを投稿するメソッドを作成します。

def notify
  ...
  result = HTTParty.post( '/receiver.json', 
                         :query => some_message_of_mine_as_a_hash)
  ...
end

すべてが正しく設定されているように見えますが、接続に失敗します。メソッドをデバッグすると、リクエストの時点で HTTParty のdefault_optionsハッシュが空であることがわかりました。どうしたの?

4

1 に答える 1

1

HTTPartyモジュールをNotifierクラスに含めました。これにより、そのモジュール内で定義されたメソッドがクラスで使用可能になります。base_uriとを呼び出すときは、それ自体ではなく でbase_auth構成を設定しています。NotifierHTTParty

メソッドでは、反対ではなく直接notify呼び出す必要がありますpostHTTParty

result = post( '/receiver.json', 
               :query => some_message_of_mine_as_a_hash )

この例の最後の行を参照してください。クラス外からの呼び出しは onPartay.postではなくon であることに注意してくださいPartay.HTTParty.post

于 2013-09-06T20:13:03.313 に答える