我正在尝试创建一个带有隐藏字段和 select_tag 的简单表单。我希望在更改时提交此表单。这是我到目前为止的代码:
<%= form_for :model, :multipart => true, :remote => true, :url => target_url do |f| %><br>
<% @array.each do |r| %><br>
<ul class="list">
<li class="list block">
<%= image_tag(r.image_url(:sm_thumb)) if r.try(:images).try(:first) %><br>
<%= r.child.try(:name) %><br>
<%= f.hidden_field :id, :value => r.id %><br>
<%= select_tag 'interested_field', options_from_collection_for_select(@array_of_choices, 'id', 'first_name'), :prompt => 'Some Message', :onChange=>"this.form.submit()" if @appropriate? %><br>
</li>
</ul>
<% end %>
<% end %>
它在大多数情况下都有效,因为我能够提交表单 onChange,但问题是有时(而且它是随机的)选择框的值未在发送到控制器的参数中设置。因此,如果用户进行选择,则表单将在interested_field 中提交一个空白值, params[:interested_field] = ''
尽管用户正在选择一个值。我一生都想不通,为什么会发生这种情况。非常感谢任何输入。
我正在使用 rails 3.2 和 ruby 1.9.3