Подтвердить что ты не робот

Как изменить класс метки для флажков в simple_form

с помощью simple_form мы можем изменить класс метки, используя:

label_html => {:class => "myclass"}

но как мы будем делать то же самое при работе с флажками?

simple_form назначает класс по умолчанию collection_check_boxes

Есть ли способ изменить этот класс по умолчанию?

4b9b3361

Ответ 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