31

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

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

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

simple_form分配默认类collection_check_boxes

有没有办法改变这个默认类?

4

6 回答 6

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'
于 2012-04-03T14:54:29.557 回答
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 %>
于 2012-08-20T12:26:35.427 回答
2

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

像:

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

伊恩

于 2011-04-28T00:55:00.013 回答
2

就像上面提到的那样,这应该非常简单: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" }

将为复选框标签上的样式创建和分配属性,如下所示:

在此处输入图像描述

于 2019-10-01T21:06:30.460 回答
1

更改复选框标签类的最简单方法是在/config/initializers/simple_form.rb/config/initializers/simple_form_bootstrap.rb中插入以下内容:

config.boolean_label_class = 'form-check-label'
于 2017-01-03T09:34:05.593 回答
0

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

这是在带有简单形式 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? %>
于 2013-08-21T09:43:21.370 回答