如何为f.select表单字段设置空白值
我正在使用以下来允许我的用户在他们的个人资料中select他们的性别。
<%= f.select (:sex, %w{ Male Female }) %>
如何创build一个空白值,如果没有任何内容传递给user.sex列,列表将默认为空值? 我简单地把男或女作为一个string。
目的是我想要一个空值,所以validation可以确保他们知道他们必须select它。
有两种可能性,这取决于你在做什么:
include_blank
<%= f.select (:sex, %w{ Male Female }, :include_blank => true) %>
这将在select中始终包含一个空白选项,如果用户在编辑表单上看到该选项,则可以让用户将值设置回空白值。
prompt
<%= f.select (:sex, %w{ Male Female }, :prompt => "Gender...") %>
这将包括指定的提示值,只要该字段尚未设置。 如果它(例如在编辑表单上),则不需要提醒用户他们需要select一个值,这样提示就不会出现
我想你可以做这样的事情:
<%= f.select (:sex, %w{ Male Female }, {:include_blank => 'None Specified'} ) %>
在Rails 4中你可以实现这样的提示:
<%= f.select :gender, %w{ Male Female }, {:prompt => "Gender..."} %>
它以简单的forms为我工作。
你跟着去
<%= f.select :gender, %w{ Male Female }, :include_blank => true %>