2015-09-08 45 views
1

我想在我的編輯視圖中使用下面的代碼包含一個布爾值作爲一個下拉框下拉框​​:Options_for_select不工作:布爾

<div class="col-md-8"> 
    <%= f.select :match, options_for_select([['On', true], ['Off', false]]), class: 'form-control input-md' %> 
</div> 

不過我遇到了兩個問題:

1.它不顯示正確的值。即使用戶的值爲false,它仍然會顯示On

2.它沒有實現樣式。檢查員表明它實施如下:

<div class="col-md-8"> 
    <select name="user[match]" id="user_match"> 
    <option value="true">On</option> 
    <option value="false">Off</option> 
    </select> 
</div> 

我在做什麼錯了?

+0

什麼是您預期的輸出? – inye

+0

加載編輯視圖時,應該爲該用戶選擇值:因此如果記錄的值爲「true」,則應選擇「開」。如果選擇「false」,則選擇「Off」。現在總是選擇「開」,而不考慮記錄的值。 – Marty

+0

你如何在你的數據庫中存儲匹配值? – inye

回答

5

做這樣的:

<%= f.select :match, options_for_select([['On', true], ['Off', false]], selected: your_object.match),{}, {class: 'form-control input-md'} %> 
+0

謝謝,作品像一個魅力 – Marty

+0

偉大,高興地幫助你:) –