向rails选择标签添加空白选项

时间:2013-05-10 18:57:01

标签: ruby-on-rails

我使用jquery链接,我试图让第二个下拉列表灰显,如果第一个选择了空白选项。我假设我在第二个列表中需要一个空白选项才能锁定,但我不确定如何添加空白选项。这是选择选项

<%= select_tag :equipment, options_for_select(Equipment.all.collect
                                            { |e| ["#{e.model} - #{e.serialNum}",e.id, 
                                            :class =>"#{e.handReceipt}"]},
                                            html_options = {:id=>'equipment'}) %>

第一个下拉列表允许您选择手工收据类型,并且使用jquery链接,第二个列表仅显示具有相应手工收据属性的记录。

如何在上面的选择中添加空白选项?

编辑 - 这是我到目前为止所尝试的内容 -

<%= select_tag :equipment, 
     options_for_select(  [["--",""],
                          Equipment.all.collect{ |e|
                          ["#{e.model} - #{e.serialNum}",
                          e.id, :class =>"#{e.handReceipt}"]}],
                          html_options = {:id=>'equipment'}) %>

这会导致列表显示不正确 -

<select id="equipment" name="equipment">
   <option value="">--</option>
   <option value="[&quot;M4 - W432156&quot;, 10, {:class=&gt;&quot;Arms Room&quot;}]">[&quot;PSN-13 - 176985&quot;, 1, {:class=&gt;&quot;Commo&quot;}]</option>
</select>

它不是显示表格中的所有记录,而是显示空白选项和第二个选项。

<%= select_tag :equipment, 
     options_for_select(  :include_blank => true,
                          Equipment.all.collect{ |e|
                          ["#{e.model} - #{e.serialNum}",
                          e.id, :class =>"#{e.handReceipt}"]},
                          html_options = {:id=>'equipment'}) %>

导致以下错误 -

C:/Users/Sam/Documents/ruby/btrp/app/views/vehicles/edit.html.erb:19: syntax error, unexpected ',', expecting tASSOC
                          e.id, :class =>"#{e.handReceipt}"]},

2 个答案:

答案 0 :(得分:14)

options_for_select的参数错误,我认为这是正确的方法:

<%= select_tag :equipment,
      options_for_select(Equipment.all.collect { |e|
                           ["#{e.model} - #{e.serialNum}", e.id,
                            { :class =>"#{e.handReceipt}" }]}), 
      :include_blank => true,
      :id => 'equipment' %>

阅读更多内容:

http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-options_for_select

http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html

答案 1 :(得分:0)

您可以像这样附加空白值。

<%= select_tag "category","<option value=''>Category</option>" +  options_from_collection_for_select(@store_categories, "id", "name",params[:category].to_i)%>