我想用文本 param提供API請求,其中包含我目前在params[:brand][:tag_list]
中的信息,該信息似乎被保存爲一個由逗號分隔的字符串。什麼是提出API請求的正確方法?如何正確傳遞此參數?
控制器代碼:從日誌
current_user.tag(@brand, :with => params[:brand][:tag_list], :on => :tags)
url = "http://www.viralheat.com/api/sentiment/review.json"
@sentiment_response = url.to_uri.get(
:api_key => 'MY_KEY',
:text => :tag_list).deserialize #This is what I'm currently using and is wrong
響應代碼:
<- (GET 49996946161 2204098100) http://www.viralheat.com:80/api/sentiment/review.json?api_key=MY_KEY&text=tag_list
-> (GET 49996946161 2204098100) 200 OK (62 bytes 3.09s)
問題是? – njzk2
:tag_list是哈希中的標籤列表,即「貓」,「狗」,「鼠標」,因此迴應應該是:http://www.viralheat.com:80/api/sentiment/review.json?api_key = MY_KEY&text = cat&dog&mouse – Simpleton
'http://www.viralheat.com/api/sentiment/review.json?api_key = MY_KEY&text = cat&dog&mouse'幾乎肯定不是您的意思;這創建了對「文本=貓」,「狗」和「鼠標」,這是無意義的。此外,你不傳遞一個數組,你傳遞一個符號。 「:tag_list」由定義*不是散列*。你可能是指params [:brand] [:tag_list]之類的東西,但即使如此,目前還不清楚這個哈希應該如何轉換爲這個api的字符串。因爲你說它應該形成的網址是不正確的。 –