Ruby on Rails - select 在 Form_for 中的第一个选项 selected 和禁用

Ruby on Rails - First option of select in Form_for selected and disabled

如何将 select options_from_collection_for_select 的第一个选项设为 select 并禁用?

我有那个代码:

<%= f.select :state, options_from_collection_for_select(Estate.order(:name), :uf, :name), {}, :id => 'populate_cities' %>

我需要输出为:

<select id="populate_cities" name="guide_dog_form[state]"><option value="AC">Acre</option>
<option value="Select one option" disabled selected>Select one option</option>
<option value="option1">Option 1</option>
<option value="option2">Option 2</option>
<option value="option3">Option 3</option>
</select>

我搜索并找到了一些答案,但没有任何帮助。

有人可以帮助我吗?谢谢。

  • 如果您希望占位符仅在呈现表单时属性为 nil 时显示,请使用 :prompt => "Placeholder"。默认情况下它将被选中,但如果用户提交,则不会保存任何内容。如果该属性已经填充 [可能是因为 a) 有默认值或 b) 它是一个编辑表单],占位符项目将从列表中完全省略。
  • 如果您想始终在呈现的列表中包含占位符,请使用 :include_blank => "Placeholder"

根据: https://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html

无法 select 禁用元素(或禁用 [​​=12=]ed 元素 – 如果您以这种方式查看)。