2013-05-26 27 views
8

Tôi đang thiết lập một ứng dụng có thể thực hiện các yêu cầu API LastFM. Đây là những yêu cầu nhận đơn giản và tôi đang sử dụng đá quý HTTParty.Thông số tùy chọn HTTParty không hoạt động đúng

chức năng của tôi là như sau:

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 

Đoạn mã này đó là hiển thị ở trên công trình. Yêu cầu get trả về một tập hợp JSON. Vấn đề của tôi là điều này /?#{options.to_query} không trông gọn gàng. Và thông số tùy chọn thực tế (hiện tại trống rỗng {}). Làm thế nào để tôi nhận được tham số tùy chọn HTTParty để hoạt động giống như nó?

Đây là những gì tôi đã cố gắng, nhưng cả hai trường hợp thất bại:

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

Tôi đánh giá cao sự giúp đỡ.

Trả lời

22

Lựa chọn đúng cho tham số truy vấn trong HTTParty là :query, vì vậy những gì bạn muốn là:

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

Bạn có thể xem tất cả các thông số có sẵn trong the docs.

+0

Tôi thấy điều này khá lạ. Tôi cũng đã chuyển từ đá quý HTTParty sang đá quý Rest-client, bởi vì HTTParty sử dụng 'self.class. "Mà không phải là gọn gàng. – Biketire

0

Gửi: xác minh => sai trong tùy chọn băm

Các vấn đề liên quan