2010-11-02 124 views
169

我在這一塊上撞牆。我想使用f.select標籤製作一個簡單的選擇標籤,但沒有任何工作。我把一個例子如下:Ruby on Rails form_for選擇字段

<%= f.select(:object_field, ['Item 1', 'Item 2', 'Item 3', 'Item 4', 'Item 4'], :class => 'my_style_class')%> 

好了,所以基本上它是一旦提交表單時它會將值到object_field一個簡單的列表。這一切都有效,但查看頁面源的類標籤不包括在內。它不會拋出錯誤,它只是一起跳過它。

如果有人有任何建議,我將不勝感激。

回答

383

試試這個方法:

<%= f.select(:object_field, ['Item 1', ...], {}, { :class => 'my_style_class' }) %> 

select助手有兩個選項哈希,一個選擇,第二個爲HTML選項。所以你只需要在項目列表之後給出默認的空白選項作爲第一個參數,然後將你的類添加到html_options

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

+1

就在錢上,非常感謝你,那就做到了!我知道它必須是簡單的,當然是這樣。 – Patrick 2010-11-02 21:34:07

+0

我曾經在haml中試過這種方式,但不知道爲什麼在「檢查元素在firebug元素中」類沒有在這裏看到是我的code = f.select(:gender,[['Male',true],[''女',false]],{},{:class =>「drop」,:style =>「opacity:0;」}) – 2014-06-25 08:59:20

+0

謝謝!這工作! – 2015-03-28 20:50:14

15

您還可以添加這樣的提示選項。

<%= f.select(:object_field, ['Item 1', 'Item 2'], {include_blank: "Select something"}, { :class => 'my_style_class' }) %> 
9

這項工作對我來說

<%= f.select :status, [["Single", "single"], ["Married", "married"], ["Engaged", "engaged"], ["In a Relationship", "relationship"]], {}, {class: "form-control"} %> 
1

你可以看到在這裏: http://apidock.com/rails/ActionView/Helpers/FormBuilder/select

或者在這裏:http://apidock.com/rails/ActionView/Helpers/FormOptionsHelper/select

選擇標籤已maximun 4 agrument,與去年agrument是HTML選項,這意味着你可以在這裏放入課程,要求,選擇選項。

= f.select :sms_category_id, @sms_category_collect, {}, {class: 'form-control', required: true, selected: @set} 
+0

'selected:@ set'適用於我,當我把它放在第一個'{}'。 – user1515295 2016-12-04 20:46:56