как изменить класс метки для флажков в simple_form - PullRequest
31 голосов
/ 28 апреля 2011

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

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

но как мы поступаем так же, когда имеем дело с флажками?

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

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

Ответы [ 5 ]

65 голосов
/ 03 апреля 2012

Я хотел бы дать обновление к этому ответу на случай, если кто-то придет сюда в поисках способа сделать это, как я.

Вы можете присвоить метке класс с помощью этой опции :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'
8 голосов
/ 20 августа 2012

Если вы хотите, вы можете передать 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 голосов
/ 28 апреля 2011

Вы должны иметь возможность установить: input_html при вводе формы.

Что-то вроде:

f.input :something, :as => :check_box, :input_html => { :class => "myclass" }

Иэн.

1 голос
/ 03 января 2017

Самый простой способ изменить класс метки для флажка - вставить следующее в / config / inititializers / simple_form.rb или / config / initializers / simple_form_bootstrap.rb :

config.boolean_label_class = 'form-check-label'
0 голосов
/ 21 августа 2013

Чтобы получить класс метки, мне пришлось избавиться от автоматически сгенерированной метки и написать свою собственную.

это в рельсах 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? %>
...