Я новичок в Faraday и пытаюсь научиться передавать массив для параметров url. Мой код выглядит следующим образом:Передача массива параметров url в faraday
require 'faraday'
conn = Faraday.new(:url => 'http://foo.com:8888') do |faraday|
faraday.request :url_encoded
faraday.response :logger
faraday.adapter Faraday.default_adapter
end
response = conn.get '/api/endpoint', { :bar => ['baz', 'qux'] }
response.body
Когда я отладки, я вижу, что URL становится закодирован как:
INFO -- : get http://foo.com:8888/api/endpoint?bar[]=baz&bar[]=qux
вместо http://foo.com:8888/api/endpoint?bar=baz&bar=qux
. Как мне получить faraday для кодирования URL-адреса без []
, когда я передаю массив параметров?
к сожалению, чтобы принять и затем unaccept я думал, что это работает, но когда я добавил 'faraday.params_encoder Фарадей :: FlatParamsEncoder' к' do' блоку я получил 'неопределенного метода params_encoder» для #. (NoMethodError) '. Любые идеи? –
user139014
params_encoder находится только в последней версии faraday. Убедитесь, что вы определили версию в своем Gemfile так:' gem 'faraday "," ~> 0.9.0.rc5 ". Это должно исправить это :) –