HTTParty没有设置配置参数

时间:2013-09-06 19:55:50

标签: ruby httparty

我正在使用 HTTParty gem在我的另一个网站上发布请求。 在我的专用课程中,我根据HTTParty的documentation

定义了一些默认值
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哈希是空的。 发生了什么事?

1 个答案:

答案 0 :(得分:1)

您已在HTTParty课程中加入了Notifier模块。这使得该模块中定义的方法可用于您的类。当您致电base_uribase_auth时,您需要在Notifier上设置配置,而不是在HTTParty内设置。

notify方法中,您应该直接致电post而不是HTTParty

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

请参阅 this example 的最后一行。请注意,来自课外的来电是Partay.post,而不是Partay.HTTParty.post