4

selectタグの動作がおかしい。これが私のコードの一部です:

コントローラ

  def edit
    @user = User.find(current_user.id)
  end

ビュー(一部)

=form_for @user
.field
  = f.label :gender
  %br
  = genders_select(f)

ヘルパー

  def genders_select(form)
    form.select :gender, [ ['Female','0'], ['Male', '1'] ], :prompt=>'select your gender'
  end

editアクション選択では、プロンプト値はなく、女性と男性の2つの値があります。任意の値を選択してボタンを押すと、「性別を選択」が表示され、「性別を空白にすることはできません」というエラーも表示されます。

なぜこれが起こっているのですか、どうすれば解決できますか?

4

2 に答える 2

5

同じ問題がありました。:include_blankの代わりに使用します:prompt。つまり、

def genders_select(form)
  form.select :gender, [ ['Female','0'], ['Male', '1'] ], :include_blank=>'select your gender'
end

詳細については、こちらを参照してください。

于 2013-02-20T21:04:30.133 に答える
0

please try this, I think it will work

f.select(:gender, options_for_select(['male', 'female']), {:prompt => 'Select Gender'}, {:class => "form-control slct-box"})
于 2014-03-16T20:13:37.243 に答える