如何更改 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
中)。
当我使用 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
中)。