bootstrap 表格总是默认 width:100%,我希望把它变成 col-xs-12 col-sm-6 col-md-4,左 label,中 input,右 hint。
目前用 simple_form,在设置里,我:
config.wrappers :bootstrap, tag: 'div', class: 'form-group', error_class: 'error' do |b|
b.use :input, wrap_with: { tag: :div, class: 'input_wrapper'}
end
所以:
<%= f.input :nick, :required => true%>
生成的 html 为:
<div class="form-group ">
<label class="control-label col-sm-2 " > 昵称</label>
<div class="input_wrapper">
<input class="form-control" >
</div>
</div>
我的问题是: 如何向包围着 input 的 div 注入 class:"col-xs-12 col-sm-6 col-md-4"? 目标是生成:
<div class="form-group ">
<label class="control-label col-sm-2 " > 昵称</label>
<div class="input_wrapper col-xs-12 col-sm-6 col-md-4">
<input class="form-control" >
</div>
</div>
注: form-control 控制着 width:100%, 所以我曾用 input_html: {class: 'col-sm-6 col-md-4'}得到 input 本身 class 的注入, 即结果为:
div class="form-group ">
<label class="control-label col-sm-2 " > 昵称</label>
<input class="form-control col-xs-12 col-sm-6 col-md-4" >
</div>
此问题有解吗?
高手们都是怎么解决 bootstrap 的表格宽度问题的?
补充: 我试过设置 config 里声明
b.wrapper :my_wrapper do |component|
component.use :input, wrap_with: { tag: :div }
end
这样倒是可以使用 my_wrapper_html: {class: "col-xs-12 col-sm-6 col-md-4"}注入 class 但又会生成两个 input,如果光用:my_wrapper 貌似又不行……