Problem z przsyłaniem danych POST'em

Jestem nowy na forum i w sumie też niedawno rozpocząłem przygodę z RoR, dlatego też z jednej strony proszę o wyrozumiałość a z drugiej mile będą widziane uwagi dotyczące stylu pisania kodu w Rails’ach, oraz samych postów na forum.

Ale wracając do tematu, czy jest możliwe i jeśli tak to w jaki sposób przesłanie metodą POST tablicy która miała by format mniej więcej taki:

req.set_form_data(‘user[nazwa_firmy]’ => ‘nazwa_firmy’,
‘user[osoba]’ => ‘osoba’, itd…

a nie

req.set_form_data(‘nazwa_firmy’ => ‘nazwa_firmy’,
‘osoba’ => ‘osoba’, itd…

Będę wdzięczny za odpowiedź

pozdrawiam

Adrian

Jest możliwe, to jest domyślne zachowanie Railsów jeśli korzystasz z form_for, np:

[code=ruby]<% form_for @user do |f| -%>

<%= f.text_field :nazwa_firmy -%>
<%= f.text_field :osoba -%>

<%= submit_tag “Wyslij” -%>

<% end -%>[/code]
wyśle post’em tablicę asocjacyjną (Hash’a) taką jak napisałeś.

Napisz dokładnie co próbujesz zrobić.

Próbuję z aplikacji A wysłać dane do aplikacji B, obydwie aplikacje są railsowe, aplikacja B posiada API z którgo chcę skorzystać.
Wykorzystują do tego klasę ActiveResource i kod który ma przesłać dane wygląda z A następująco:

url = URI.parse('http://127.0.0.1:3001/api/user') req = Net::HTTP::Post.new(url.path) req.basic_auth 'user', 'pass' req.set_form_data('nazwa' => 'nazwa', 'osoba' => 'osoba, 'ulica' => 'ulica', 'miejcowosc' => 'miejscowosc') res = Net::HTTP.new(url.host, url.port).start {|http| http.request(req) }
odbierać dane chciałbym w aplikacji B po przez takie odwołanie:

@user = User.new(params[:user])

dlatego też chciałem aby aplikacja A wysyłała dane w taki sposób:

url = URI.parse('http://127.0.0.1:3001/api/user') req = Net::HTTP::Post.new(url.path) req.basic_auth 'user', 'pass' req.set_form_data('user[nazwa]' => 'nazwa', 'user[osoba]' => 'osoba, 'user[ulica]' => 'ulica', 'user[miejcowosc]' => 'miejscowosc') res = Net::HTTP.new(url.host, url.port).start {|http| http.request(req) }

Skoro korzystasz z ActiveResource to dlaczego nie w pełni ? Widzę, że używasz Net::HTTP, czytałeś jak działa ActiveResource (Lifecycle methods i custom REST methods ? ) Zakładam że obie aplikacje to Rails.

W skórcie: Aplikacja B obsługuje xml’owe zapytania (REST w Rails), Aplikacja A tworzy(new), pobiera (find), aktualizuje(save) zasoby przy pomocy ActiveResource. Może jakiś wprowadzający screencast ?

Czytałem o activeResource ale widać nie do końca zrozumiałem ideę.

Dziękuję za szybką i konkretną odpowiedź,

Pozdrawiam

Adrian