Question

J'ai la forme suivante:

<% form_for(:tag, :url => {:action => "post_tag", :id => @photoID}) do |form| %>
  <%= error_messages_for(:tag) %>
  <% if @errors then %>
  <%= @errors[0] %>
  <% end %>
  <p><%= form.select(:user_id, @userHash) %></p>
  <p><%= form.hidden_field(:xpos) %></p>
  <p><%= form.hidden_field(:ypos) %></p>
  <p><%= form.hidden_field(:width) %></p>
  <p><%= form.hidden_field(:height) %></p>
  <%= submit_tag "Submit Tag" %>
<% end %>

Mais aucune des valeurs sont remplies dans le contrôleur. Je sais que les valeurs sont plein la vue parce que je peux voir qu'ils ont les valeurs correctes dans Firebug. Dans le contrôleur, je suis en train d'y accéder comme params[:xpos] pour le :xpos hidden_field. Est-ce exact ???

Était-ce utile?

La solution

Faites logger.debug params.inspect. Je soupçonne de Furtif vous y verrez params[:tag][:xpos]:)

Vous avez passé un nom à balise form là (de form_for(:tag, ...) do |form|), il envelopper tous les champs construits comme form.field(...) dans un hachage identifié par le nom passé ( « tag », dans ce cas).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top