2009-11-20 19 views
0

je la forme suivante:(rails) éléments de formulaire cachés ne donnant pas les valeurs de contrôleur

<% 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 toutes pleines dans la vue parce que je peux voir qu'elles ont les valeurs correctes dans Firebug. Dans le contrôleur, j'essaie d'y accéder comme params[:xpos] pour le :xpos hidden_field. Est-ce correct???

Répondre

1

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

Vous avez passé un nom pour former étiquette il (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).

+0

vous avez absolument raison :) – sepiroth