2009-03-18 5 views
0

meine Frage beinhaltet die folgenden Teilansicht mit einem entfernten Form schreiben:Rails Remote Form keine Formularparameter

<% 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 %> 

Wenn die Add Taste gedrückt wird, die add_phone_number Aktion geschrieben wird, aber die Form Werte nicht in der Variablen params.

Weiß jemand, warum das sein könnte?

Antwort

4

Die meisten Browser nicht die Form Wert in der Post übergeben werden, wenn das Formular Element ein Kindknoten in einer illegalen Lage im DOM (wie innerhalb eines TR ist, beispielsweise (und nicht in einem TD).

laufe ich in dieses Problem einmal.

+0

war diese tatsächlich das Problem in Ihrem Fall? –

+0

ja, es ist genau das Problem. Danke – stellard

0

Sie möchten wahrscheinlich eine Art von Methode für das Formular haben.

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

nicht pingelig zu sein, aber wenn Sie remote_for_form verwenden möchten Sie eine Ressource haben, es zu benutzen mit. Sie möchten also :phone_number durch @phone_number eine Instanzvariable ersetzen, die Sie in Ihrem Controller instanziiert haben. Dies hält den Code ein wenig schöner und es entspricht auch den Konventionen von Rails.

Auch für Probleme wie diese debugger ist dein Freund