многоуровневые параметры для поста отдыха - PullRequest
1 голос
/ 01 августа 2011

Как передать многоуровневые параметры в POST, когда я использую библиотеку net / http?

Пример, который работает:

require "net/http"

http = Net::HTTP.new("localhost", 3000)
request = Net::HTTP::Post.new("/external/rd")
request.set_form_data({:name => 'device_rb'})
response = http.request(request)
puts response.body

, но обычные обозначения рельсов будут:

"device" => {:name => 'device_rb'}

Я понятия не имею, как поместить эти встроенные параметры в метод set_form_data.Любая помощь?

С уважением

1 Ответ

1 голос
/ 01 августа 2011

Если вы публикуете данные формы, ваши данные будут закодированы в формате x-www-form-urlencoded . Это более или менее простой формат ключ / значение без вложенности структур.

Если вы хотите вложить данные, передаваемые на сервер, вам следует использовать формат, который это позволяет, например, JSON или XML. Вы не можете установить полезную нагрузку для этих форматов с помощью set_form_data.

Вы устанавливаете их, используя request.body = payload. См. Также простой пример для публикации полезной нагрузки JSON.

...