Как изменить класс метки для флажков в simple_form
с помощью simple_form
мы можем изменить класс метки, используя:
label_html => {:class => "myclass"}
но как мы будем делать то же самое при работе с флажками?
simple_form
назначает класс по умолчанию collection_check_boxes
Есть ли способ изменить этот класс по умолчанию?
Ответы
Ответ 1
Я хотел дать обновление для этого ответа, если кто-то придет сюда искать способ сделать это, как и я.
Вы можете присвоить метке класс с помощью этой опции :item_wrapper_class => 'class_goes_here'
Вот полный пример:
= user.input :resident,
:collection => [["In the U.S", true],["Outside the U.S.", false]],
:label_method => :first,
:value_method => :last,
:as => :radio_buttons,
:label => "Where is your principle residence?",
:item_wrapper_class => 'inline'
Ответ 2
Если вы хотите, вы можете передать new_class
на ярлык, сделав что-то вроде:
<%= f.collection_check_boxes attribute, collection, value_method, text_method do |b|
b.label(class: 'new_class') {b.check_box + b.text}
end %>
Ответ 3
Вы должны иметь возможность установить: input_html на свой ввод формы.
Somthing like:
f.input :something, :as => :check_box, :input_html => { :class => "myclass" }
Иан.
Ответ 4
Самый простой способ изменить класс метки для флажка - вставить следующее в /config/inititializers/simple_form.rb или /config/initializers/simple_form_bootstrap.rb:
config.boolean_label_class = 'form-check-label'
Ответ 5
Чтобы получить класс ярлыков, я должен был избавиться от автоматически сгенерированной метки и написать свой собственный.
это в рельсах 3 с простой формой 2.1, поэтому YMMV....
до:
<%= f.input :remember_me, :as => :boolean if devise_mapping.rememberable? %>
после
<%= f.label :remember_me, :class => 'remember-me' %>
<%= f.input :remember_me, :label => false, :as => :boolean if devise_mapping.rememberable? %>
Ответ 6
Это должно быть довольно просто, как упомянуто выше, для этого нужно добавить :label_html => { :class => "myclass" }
, например:
= f.input :remember_me, as: :boolean, :input_html => { :class => 'kt-checkbox kt-mock-span' }, :label_html => { :class => "kt-login-checkbox-label" }
создаст и назначит атрибуты для стилей на ярлыке флажка следующим образом:
![enter image description here]()