我有一个奇怪的选择标签行为。这是我的代码的一部分:
控制器
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个值:女性和男性。在我选择任何值并按下按钮后,其中会出现“选择您的性别”,并且“性别不能为空”也会出错。
为什么会发生这种情况,我该如何解决?
答案 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"})