Pergunta

Eu tenho o seguinte formulário:

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

Mas nenhum dos valores é preenchido no controlador. Sei que os valores estão todos cheios na visão, porque posso ver que eles têm os valores corretos no Firebug. No controlador, estou tentando acessá -los como params[:xpos] para o :xpos hidden_field. Isso está correto ???

Foi útil?

Solução

Fazer logger.debug params.inspect. Eu tenho uma suspeita de espreitadelas que você verá params[:tag][:xpos] lá :)

Você passou um nome para formar a tag lá (form_for(:tag, ...) do |form|), ele envolverá todos os campos construídos como form.field(...) em um hash identificado pelo nome aprovado ("tag", neste caso).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top