我有以下表格:
<% 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 %>
但是控制器中没有填充任何值。我知道视图中的值都已满,因为我可以看到它们在Firebug中具有正确的值。在控制器中,我尝试像params[:xpos]
那样访问:xpos hidden_field
。这是正确的吗?
答案 0 :(得分:1)
logger.debug params.inspect
。我怀疑你会看到params[:tag][:xpos]
:)
您已在其中传递了一个名称以形成标记(form_for(:tag, ...) do |form|
),它将所有构造为form.field(...)
的字段包装在由传递的名称(在本例中为“tag”)标识的哈希中。