2012-07-11 15 views
18

Ben aşağıdaki kod parçasıMaç boole değerlerini içeren seçme formda bir seçenek

%br 
= f.label :active, 'Status' 
= f.select :active, ['Active','Inactive'] 

Sembol: Aktif bir boolean tipi var olduğunu. Veri tabanı eklemek için Active => 1/True ve Inactive => 0/False ile nasıl eşleştirebilirim.

Yeni soru için özür dilerim, ama çözemiyorum.

Her seçenek için değerler bir çift sağlayabilir

cevap

44

:

= f.select :active, [['Active', true], ['Inactive', false]] 

Bir şeyler hale edeceğiz: Birinci etiketi (<option> etiketinin iç metin) olarak kullanılacak, ikinci bir value niteliği olarak kullanılacaktır gibi:

<select name="model[active]"> 
    <option value="true">Active</option> 
    <option value="false">Inactive</option> 
</select> 

select ve options_for_select için docs göz at.

3

Bir açılır menü kullanıyorsanız, önceki yanıtın küçük bir uzantısı.

"options_for_select." Ayrıca, ": selected", bir sonraki forma döndüğünüzde değeri saklar.

<%= f.select(:active, options_for_select([['Active', true], ['Inactive', false]], {:selected => @symbol.active}),:prompt => "Select") %> 
İlgili konular