2013-09-06 3 views
0

나는 HTTParty 보석을 사용하여 다른 웹 사이트에 요청을 게시하고 있습니다. 내 전용 클래스에서 내가 HTTParty의 documentation에 따라 약간의 기본값을 정의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 해시가 비어 있음을 알 수 있습니다. 무슨 일 이니?

답변

1

귀하의 Notifier 클래스에 HTTParty 모듈을 포함 시켰습니다. 이렇게하면 해당 모듈 내에서 정의 된 메서드를 클래스에서 사용할 수 있습니다. base_uribase_auth으로 전화 할 경우 HTTParty 자체가 아닌 Notifier에 구성을 설정해야합니다. 당신의 notify 방법에서

는 대신 HTTParty

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

this example의 맨 마지막 줄을 참조에의 직접 post를 호출해야합니다. 수업 외부의 전화는 Partay.post이고 Partay.HTTParty.post이 아니라는 사실에 유의하십시오.

+0

.... 훌륭한 .... – Miotsu