私は次のコードを持っています
%br
= f.label :active, 'Status'
= f.select :active, ['Active','Inactive']
記号:activeはブール型の変数です。データベースを追加するために、Active => 1/TrueとInactive => 0/Falseを一致させるにはどうすればよいですか。
初心者の質問で申し訳ありませんが、私はそれを理解することはできません。
オプションごとに値のペアを指定できます。最初はラベル(<option>
タグの内部テキスト)として使用され、2番目はvalue
属性として使用されます。
= f.select :active, [['Active', true], ['Inactive', false]]
次のようにレンダリングされます。
<select name="model[active]">
<option value="true">Active</option>
<option value="false">Inactive</option>
</select>
select
および options_for_select
のドキュメントをご覧ください。
ドロップダウンを使用している場合は、前の回答の小さな拡張。
「options_for_select」を使用する必要がありました。また、「:selected」は、次にフォームに戻ったときの値を格納します。
<%= f.select(:active, options_for_select([['Active', true], ['Inactive', false]], {:selected => @symbol.active}),:Prompt => "Select") %>