我试图通过Net::HTTP传递数组到ruby
def send_p
x = Net::HTTP.post_form(URI.parse('http://example_domain/example'), to_send)
render text: x
end
def to_send
{
param_a: "foo",
param_b: [1,2,3]
}
end
但是当检查http://example_domain/example
中的参数时,会得到我
{
"param_a"=>"foo",
"param_b"=>"3",
"action"=>"my_method",
"controller"=>"my_controller"
}
[1,2,3]
尝试使用HTTParty
:
x = HTTParty.post(URI.parse('http://example_domain/example'), to_send)
您可以将数组转换为字符串,然后在从响应中获取参数时进行反向操作。
发送前转换为字符串
param_b: [1,2,3].to_s
你会收到和你发送的完全一样的信息
"param_b"=>"[1,2,3]"
转换回Array
eval(params[:param_b])
# => [1, 2, 3]