(rotaie) Elementi di modulo nascosto che non danno i valori al controllore
-
21-09-2019 - |
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 ???
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