Ruby Rails集合选择是否显示空白的"提示"值?

Ton*_*ony 11 ruby forms collections ruby-on-rails prompt

我有一个集合选择如下:

<%= f.collection_select :region_id, Region.find(:all), :id, :name, { :prompt => 'Select a State/Province' }, :style => "width: 200px;" %>
Run Code Online (Sandbox Code Playgroud)

有时会出现来自:prompt选项的提示,但有时则不会.有谁知道我可以在哪里开始解决这个问题?也许我一直在看它太久了......

小智 43

:include_blank使用空白选项的值似乎可以解决问题.试试这个:

 {:include_blank => "Please select"}
Run Code Online (Sandbox Code Playgroud)


rob*_*ana 12

:prompt 当没有选定值时,将出现在列表中.

:include_blank 始终显示在列表中,即使您已使用选定值加载了选择.


如果您希望您的选择总是"Select a State/Province"作为第一个选项:

<%= f.collection_select :region_id, Region.all, :id, :name, include_blank: 'Select a State/Province' %>
Run Code Online (Sandbox Code Playgroud)

如果您希望"Select a State/Province"只有在尚未选择某个区域时才将您的收藏作为第一个选项:

<%= f.collection_select :region_id, Region.all, :id, :name, prompt: 'Select a State/Province' %>
Run Code Online (Sandbox Code Playgroud)

来源:http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html


nit*_*der -1

代替

:prompt => "Select a State/Province"
Run Code Online (Sandbox Code Playgroud)

尝试

:allow_blank => "Select a State/Province"
Run Code Online (Sandbox Code Playgroud)

编辑:是的,在检查 API 之后,我可以看到我感到困惑,根据文档,提示是正确的方式,是否它只是有时出现,因为您的对象已经有一个值,因此提示在那里,但它不是下拉列表中当前选择的值吗???