我有以下代码,使用最新版本的Formatastic 3.1.0。
<%= f.input :name, :input_html => { :class => "col-lg-10" }, :label_html => { :class => "col-lg-2" }%>
我可以更改input_html但是找不到更改标签html类的选项。有没有办法做到这一点?
输出是这样生成的(请注意标签类中省略“col-lg-2”)。
<li class="string input required stringish" id="account_name_input">
<label for="account_name" class="label">Name<abbr title="required">*</abbr></label>
<input id="account_name" class="col-lg-10" type="text" value="" name="account[name]">
</li>
答案 0 :(得分:1)
查看文档和源代码,我没有看到内置的方法来执行此操作。 (我总是错的。)但是,也许这个猴子补丁会起作用:
配置/初始化/ formtastic_monkey_patch.rb
Formtastic::Inputs::Base::Labelling.module_eval do
def label_html_options
{
:for => input_html_options[:id],
:class => (['label'] + (options[:label_class] || [])).flatten
}
end
end
这应该覆盖Formtastic的默认label_html_options
函数,可以在this file中看到。然后将通过数组添加类:
f.input :my_attribute, :label_class => ['my_class', 'my_other_class']
这是我的想法,但我建议在使用之前与我的意见分开。