HTTParty으로 배열을 POST해야합니다.HTTParty 배열을 게시하는 방법
는내 배열은 [1, 2, 3]
하고 API 그것은 중요하지만 here's the docs for the API in question 정말 아니다 형태
"story_hash=1&story_hash=2&story_hash=3"
에있을 몸을받을 것으로 기대하고있다.
순간에 내가 가진 솔루션입니다 :
params = [1, 2, 3].inject('') { |memo, h| memo += "&story_hash=#{h}" }
# Strip the first '&'
params.slice!(0)
options = { body: params }
HTTParty.post('/reader/mark_story_hashes_as_read', options)
는 더 좋은 방법이 있나요 (이상적인 솔루션 난 그냥 알고하지 않는 것이 HTTParty의 기능이 될 것입니다)?
나는 다음과 같은 방법을 시도 :
options = {
body: { story_hash: [1, 2, 3] }
}
HTTParty.post('/reader/mark_story_hashes_as_read', options)
을하지만 그 잘못이 같은 몸을 보낼 것 같다
"story_hash[]=1&story_hash[]=2&story_hash[]=3"
에 대한 HTTParty::HashConversions.to_params 방법을 사용할 수 있습니다. 이는 세 가지 요소가 포함 된 story_hash라는 배열 매개 변수로 재구성됩니다 (예 : 레일스). (양식의 다중 선택 결과가 레일에 게시되는 방식을 살펴보십시오 - 동일한 아이디어). – struthersneil
@struthersneil 예. 죄송합니다. 아마 그 단어를 사용해서는 안됩니다. 나는 단지 "내 목적에 부적합하다"는 의미였습니다. –
저는 알고 있습니다 - 왜 누군가가 자신의 배열이 이상하게 인코딩되어 있는지 궁금해하는 경우에 googler를 전달하는 것에 대한 덧글을 추가했습니다. – struthersneil