Мне нужно добавить атрибут данных для ввода f.association
в простой форме.Для этого я нашел эту статью и последующую ссылку на документацию simpleform .Достаточно просто добавить классы со стандартным синтаксисом, мне интересно, почему с использованием обертки это трудно.
Так что вместо стандартного:
<%= f.association :size, input_html:{class: 'sku-suffix-component'} %>
Я использую:
<%= f.input :size, as: :select, input_html:{class: 'sku-suffix-component'} do %>
<%= f.select :size, Size.all.map{ |s| [s.name, s.id, {'data-code-num' => s.code_num}] } %>
<% end %>
К моему большому разочарованию, добавленный class
отсутствует в теге <select>
(не говоря уже о пропущенных других классах по умолчанию и id
соглашении об именах [id="product_size_id"
становится id="product_size"
]),Я пробовал различные синтаксисы и размещения хеша input_html
.
Ниже вы можете увидеть разницу во внешнем виде и т. Д. Справа используется стандартный синтаксис.
И вот результирующий HTML:
<select name="product[size]" id="product_size"> (...)
По сравнению с:
<select class="form-control select required sku-suffix-component" name="product[color_id]" id="product_color_id"> (...)