Domanda

Ho il seguente modulo:

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

Ma nessuno dei valori sono riempiti nel controller. So che i valori sono tutti pieni nella vista perché posso vedere che hanno i valori corretti in Firebug. Nel controllore, sto cercando di accedervi come params[:xpos] per il :xpos hidden_field. È corretto ???

È stato utile?

Soluzione

Do logger.debug params.inspect. Ho un vago sospetto si vedrà params[:tag][:xpos] lì:)

Hai superato un nome al tag form lì (form_for(:tag, ...) do |form|), che andrà a capo tutti i campi costruiti come form.field(...) in un hash identificata dal nome passato ( "tag", in questo caso).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top