Rails Remote Form не публикува параметри на формуляра

въпросът ми включва следния частичен изглед с отдалечена форма:

 <% remote_form_for :phone_number, :url => {:controller => "edit", :action => "add_phone_number" }, :update => "phone_number_div" do |form| %>
    <%= form.text_field :number%>
    <%= form.select :type, PhoneNumber::PHONE_TYPE%>
    <%= submit_tag "Add" %>     
 <% end %>

Когато се натисне бутонът Add, действието add_phone_number се публикува в, но стойностите на формата не са в променливата params.

Някой знае ли защо може да е така?


person stellard    schedule 18.03.2009    source източник


Отговори (2)


Повечето браузъри няма да предадат стойностите на формуляра в публикацията, ако елементът на формуляра е дъщерен възел в незаконно местоположение в DOM (например вътре в TR, например (а не в TD).

Веднъж се сблъсках с този проблем.

person Gabe Hollombe    schedule 19.03.2009
comment
Всъщност това ли беше проблемът във вашия случай? - person Gabe Hollombe; 23.03.2009

Вероятно искате да имате някакъв метод за формата.

<% remote_form_for :phone_number, :method => :post, :url => { :controller => "edit", :action => "add_phone_number" }, :update => "phone_number_div" do |form| %>

Не за да бъдете придирчиви, но ако използвате remote_for_form, искате да имате ресурс, с който да го използвате. Така че бихте искали да замените :phone_number с @phone_number променлива на екземпляр, която сте инстанциирали във вашия контролер. Това поддържа кода малко по-хубав и също така е в съответствие с конвенциите на Rails.

Също така за проблеми като тези debugger е ваш приятел

person vrish88    schedule 18.03.2009