我有一个@users数组填充的select_tag,我正用它来执行搜索。当用户第一次登陆页面时,我希望它显示空白或自定义标签,而不是数组中的第一项?
这是使用select_tag助手的选项吗?要插入空白的“”选项吗?
到目前为止我的助手:
<%= select_tag :search_user, options_from_collection_for_select(@users, "id", "name"), :class => 'submittable'%>
答案 0 :(得分:17)
您可以使用here中记录的选项:include_blank => true
。
答案 1 :(得分:3)
我认为正确的方法是
:prompt =&gt;“您的文字”
答案 2 :(得分:0)
因此,我没有使用options_from_collections_for_select方法,而是使用options_for_select将项目插入到我的数组中。与上面的代码相比,我在下面的代码段中插入了“everyone”。
<%= select_tag :search_user, options_for_select(@users.collect{ |user| [user.name, user.id] }.insert(0,"Everyone")), :class => 'submittable'%>
答案 3 :(得分:0)
Ruby on Rails 4.0.4 ActionView::Helpers::FormOptionsHelper
:prompt - 设置为true或提示字符串。当选择元素
时还没有值,这是一个带有通用
的选项提示 - “请选择” - 或给定的提示字符串。
select(“post”, “person_id”, Person.all.collect {|p| [ p.name, p.id ] }, {prompt: 'Select Person'})
可能会成为:
<select name="post[person_id]">
<option value="">Select Person</option>
<option value="1">David</option>
<option value="2">Sam</option>
<option value="3">Tobias</option>
</select>