2016-10-20 16 views
0

我爲我的Rails應用程序使用了Bootstrap 3 gem。 Bootstrap的一個好處是可以通過.form-control類來改善Rails表單的外觀。在Rails窗體中,Bootstrap 3類不是用於選擇下拉列表

在一種形式中,我有兩個輸入:一個text_field和一個select_field。基於該Bootstrap 3 CSS guide,我應該能夠使用.form-control類應用的樣式:

<div class="form-group"> 
    <div class="field"> 
    <%= f.label :title %><br> 
    <%= f.text_field :title, class: "form-control" %> 
    </div> 
    </div> 

    <div class="form-group"> 
    <div><%= f.label :subdomain %><br /> 
    <%= f.select :subdomain, ['ExampleOne.com', `ExampleTwo.com`], class: "form-control" %></div> 
    </div> 
<% end %> 

在這種情況下,然而,第一text_field輸入呈現細如我願意,但選擇是不變的。

<select class="form-control"> 
    <option>1</option> 
    <option>2</option> 
    <option>3</option> 
    <option>4</option> 
    <option>5</option> 
</select> 

我沒有看到我是如何設置此功能的差異:在靜態,非Rails的形式,這將根據文檔,像寫。你能發現錯誤嗎?

回答

-1

爲什麼不退後一步,在html中對輸入字段進行編碼,我相信它應該可以工作。

<div class="form-group"> 
    <div><%= f.label :subdomain %></div><br /> 
     <select class="form-control" name="subdomain"> 
     <%@some_variable.each do |k|%> #instance variable, Directly Model or some array defined in view or controller. 
     <option value="<%=k.id%>"><%=k.some_field_name%></option> 
     <%end%>   
    </div> 

如果你沒有從數據庫中選擇,你要硬編碼定義視圖或控制器,然後遍歷它一個數組。因爲它在第四個參數接受HTML選項,如這裏class,第三個參數這裏是它用於options{ include_blank: true }options哈希

<%= f.select(:subdomain, ['ExampleOne.com', `ExampleTwo.com`], {}, { :class => 'form-control' }) %> 

1

您選擇的標籤更改爲類似下面。

從軌documentation它應該在的

select(object, method, choices = nil, options = {}, html_options = {}, &block) 

這裏格式你已經有了object,因爲你申請這個在f所以你class應該是這是html_options第四個參數。

+0

@darkginger,它解決了你的問題嗎? – Sajan

相關問題