2013-05-26 1 views
8

Я настраиваю приложение, которое может выполнять запросы API LastFM. Это простые запросы на получение, и я использую камень HTTParty.Параметры параметров HTTParty не работают должным образом

Моя функция заключается в следующем:

def get_albums 
    self.class.base_uri "http://ws.audioscrobbler.com/2.0/" 
    options = { 
    :user => "Gerard1992", 
    :method => "user.gettopalbums", 
    :api_key => Constants::LASTFM_API_KEY, 
    :format => "json" 
    } 
    puts options.to_query 
    self.class.get "/?#{options.to_query}", {} #options don't work 
end 

Этот кусок кода, который показан выше работ. Запрос get возвращает набор JSON. Моя проблема в том, что этот /?#{options.to_query} не выглядит таким аккуратным. И ни один из параметров параметра (теперь пустой {}). Как заставить параметр параметров HTTParty работать так, как должен?

Это то, что я пытался, но в обоих случаях не удалось:

self.class.get "/", options 
self.class.get "/", options => options 

Я ценю помощь.

ответ

22

Правильный вариант для параметров запроса в HTTParty является :query, так что вы хотите:

self.class.get "/", query: options 

Вы можете увидеть все доступные параметры в the docs.

+0

Я нахожу это довольно странным. Я также переключился с жгута HTTParty на камень Rest-client, потому что HTTParty использует «self.class». Это не так просто. Спасибо в любом случае за ответ :) – Biketire

0

Отправить: verify => false in options hash