2009-03-18 3 views
0

ma question implique la vue partielle suivante avec une forme à distance:Rails formulaire à distance ne publie pas les paramètres de formulaire

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

Lorsque le bouton Add est enfoncé, l'action add_phone_number est affiché, mais les valeurs de formulaire ne sont pas dans la variable params.

Est-ce que quelqu'un sait pourquoi cela pourrait être?

Répondre

4

La plupart des navigateurs ne passeront pas les valeurs de forme dans le poste si l'élément de formulaire est un nœud enfant dans un endroit illégal dans les DOM (comme dans un TR, par exemple (et non dans un TD).

je suis tombé sur ce problème une fois.

+0

était ce fait le problème dans votre cas? –

+0

oui, il était exactement le problème. Merci – stellard

0

Vous souhaitez probablement avoir une sorte de méthode pour le formulaire.

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

ne pas être difficile mais si vous utilisez remote_for_form vous voulez avoir une ressource pour l'utiliser avec. Vous voudrez donc remplacer :phone_number par @phone_number une variable d'instance que vous avez instanciée dans votre contrôleur. Cela garde le code un peu plus agréable et est également conforme aux conventions de Rails.

également pour des problèmes comme ceux-ci debugger est votre ami

Questions connexes