Ruby on Rails和select tag:提示值

时间:2012-08-29 01:07:56

标签: ruby-on-rails-3.2

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

控制器

  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个值:女性和男性。在我选择任何值并按下按钮后,其中会出现“选择您的性别”,并且“性别不能为空”也会出错。

为什么会发生这种情况,我该如何解决?

2 个答案:

答案 0 :(得分:4)

我有同样的问题。使用:include_blank代替:prompt,即

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

有关详细信息,请参阅here

答案 1 :(得分:0)

请试试这个,我认为它会起作用

f.select(:gender, options_for_select(['male', 'female']), {:prompt => 'Select Gender'}, {:class => "form-control slct-box"})