0

我正在使用HTTParty gem 在我的另一个网站上发布请求。在我的专用课程中,我根据 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_optionsHash是空的。这是怎么回事?

4

1 回答 1

1

您已将该HTTParty模块包含在您的Notifier课程中。这使得该模块中定义的方法在您的类中可用。当您调用base_uriandbase_auth时,您是在设置配置Notifier,而不是在其内部HTTParty

在您的notify方法中,您应该直接调用post而不是反对HTTParty

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

请参阅此示例的最后一行。请注意,来自课堂外的呼叫是 on Partay.post,而不是Partay.HTTParty.post

于 2013-09-06T20:13:03.313 回答