如何更改 rails 中 select 表单助手的 html?

How to change html of the select form helper in rails?

当我使用 select_tag 助手时,一切都完美地工作:

<%= select_tag :district_id, options_from_collection_for_select(districts, "id", "title", prompt: "All"), { class: "select", id: "district" } %>

但我无法处理 select 助手。尝试改变这些方式:

1) <%= form.select :district_id, options_from_collection_for_select(districts, "id", "title", prompt: "All"), html_options: { class: "select_inside_col", id: "locality" } %>

2) <%= form.select :district_id, options_from_collection_for_select(districts, "id", "title", prompt: "All"), html: { class: "select_inside_col", id: "locality" } %>

3) <%= form.select :district_id, options_from_collection_for_select(districts, "id", "title", prompt: "All"), class: "select_inside_col", id: "locality" %>

结果始终相同 - 它忽略 html 选项(<select name="district_id" id="district_id">),但是,options_from_collection_for_select 工作正常。 有什么诀窍?

根据文档尝试此操作 here:

<%= form.select :district_id, districts.map { |d| [d.title, d.id] }, { include_blank: "All" }, { class: "select_inside_col", id: "locality" } %>

注意,它直接将地区集合作为第二个参数(不包含在 options_from_collection_for_select 中)。