2016-06-28 3 views
1

Railsセレクトヘルパーブロックでどのようにデフォルト値を設定できますか?Railsセレクトヘルパーブロックのデフォルト値を設定する

<div class="field"> 
    <label>Gender</label> 
    <%= f.select :gender, [], { prompt: 'Select gender', selected: 'Female' }, { :class => 'ui selection dropdown' } do %> 
    <% Subject.genders.keys.each do |c| %> 
     <%= content_tag(:option, value: c, class: 'item') do %> 
     <%= content_tag(:i, '', class: "#{c.downcase} icon") %> 
     <%= content_tag(:span, c) %> 
     <% end %> 
    <% end %> 
    <% end %> 
</div> 

私は:selectedオプションでそれを設定しようとしたが、それは動作しません。

答えて

1

f.selectが選択されているとは思いません。

あなたはoptions_for_select(values, value_selected)

提案を使用することができます。 あなたはアプリ/ヘルパー/ select_helper.rbという名前のファイルを作成することができます。このファイルでは、次のような関数を作成します。

def subject_genders_values 
    Subject.genders.each do |c| 
    [c.value, c.value] 
    end 
end 

関数subject_genders_valuesを再利用することができます。また、選択ボックスが必要な場合はいつでも、このファイルに関数を作成することができます。 お知らせ:application_helper.rb

そして、あなたの意見に

include SelectHelper 

を追加するには:それはリストの一部かどう

<%= f.select :gender,options_for_select(subject_genders_values, 'Female') %> 

オプション女性が選択されます。

+0

質問の解決方法を見つけましたか?私の答えはあなたにとって有益ですか? –

関連する問題