4

我有一个奇怪的选择标签行为。这是我的代码的一部分:

控制器

  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

请试试这个,我认为它会工作

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