如何在simple_form中更改复选框的标签类

时间:2011-04-28 00:38:35

标签: ruby-on-rails formtastic simple-form

使用simple_form我们可以使用以下方法更改标签的类别:

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

但在处理复选框时我们如何做同样的事情?

simple_form指定默认类collection_check_boxes

有没有办法更改此默认类?

6 个答案:

答案 0 :(得分:65)

我想对这个答案进行更新,以防有人来这里寻找方法来做到这一点。

您可以使用此选项: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'

答案 1 :(得分:8)

如果您愿意,可以将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 %>

答案 2 :(得分:3)

您应该能够在表单输入上设置:input_html。类似于:

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

伊恩。

答案 3 :(得分:1)

更改复选框的标签类的最简单方法是在 /config/inititializers/simple_form.rb /config/initializers/simple_form_bootstrap.rb :

config.boolean_label_class = 'form-check-label'

答案 4 :(得分:0)

要获得标签类,我必须摆脱自动生成的标签并编写自己的标签。

这是在轨道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? %>

答案 5 :(得分:0)

这应该很简单,就像上面提到的那样,应该添加: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