使用simple_form
我们可以使用以下方法更改标签的类别:
label_html => {:class => "myclass"}
但是在处理复选框时我们如何做同样的事情呢?
simple_form
分配默认类collection_check_boxes
有没有办法改变这个默认类?
使用simple_form
我们可以使用以下方法更改标签的类别:
label_html => {:class => "myclass"}
但是在处理复选框时我们如何做同样的事情呢?
simple_form
分配默认类collection_check_boxes
有没有办法改变这个默认类?
我想更新这个答案,以防有人像我一样来到这里寻找一种方法来做到这一点。
您可以使用此选项为标签指定类别: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'
如果你愿意,你可以传递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 %>
您应该能够在表单输入上设置 :input_html。
像:
f.input :something, :as => :check_box, :input_html => { :class => "myclass" }
伊恩
更改复选框标签类的最简单方法是在/config/initializers/simple_form.rb或/config/initializers/simple_form_bootstrap.rb中插入以下内容:
config.boolean_label_class = 'form-check-label'
为了获得标签类,我必须摆脱自动生成的标签并编写自己的标签。
这是在带有简单形式 2.1 的 rails 3 中,所以 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? %>