我正在使用 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
哈希是空的。
发生了什么事?
答案 0 :(得分:1)
您已在HTTParty
课程中加入了Notifier
模块。这使得该模块中定义的方法可用于您的类。当您致电base_uri
和base_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
。