web-dev-qa-db-ja.com

simple_formのチェックボックスのラベルのクラスを変更する方法

simple_formを使用して、ラベルのクラスを変更できます。

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

しかし、チェックボックスを処理するときにどのように同じことをしますか?

simple_formは、collection_check_boxesのデフォルトクラスを割り当てます

このデフォルトクラスを変更する方法はありますか?

31
Omnipresent

私がしたようにこれを行う方法を探している誰かがここに来た場合に備えて、この回答を更新したいと思いました。

このオプションを使用して、ラベルにクラスを与えることができます: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'
65
flynfish

必要な場合は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 %>
8
Matteo Alessani

フォーム入力に:input_htmlを設定できるはずです。

次のようなもの:

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

イアン。

3
ipd

チェックボックスのラベルクラスを変更する最も簡単な方法は、以下を/ config/inititializers/simple_form.rbまたは/ config/initializers/simple_form_bootstrap.rbに挿入することです:

config.boolean_label_class = 'form-check-label'
1

ラベルクラスを取得するには、自動生成されたラベルを削除して、独自のラベルを記述する必要がありました。

これはRails 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? %>
0
awongh

これは、上記のようにかなり簡単なはずです。: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

0
d1jhoni1b