Twitter bootstrap 简单形式:如何更改输入';s包装器';s类?(不是包装器上的html效果)
我在使用simple_form和Bootstrap 3时遇到问题。关于输入的包装标签。显示以下代码: 查看代码(带haml) config/simple\u form\u bootstrap.rbTwitter bootstrap 简单形式:如何更改输入';s包装器';s类?(不是包装器上的html效果),twitter-bootstrap,ruby-on-rails-4,simple-form,Twitter Bootstrap,Ruby On Rails 4,Simple Form,我在使用simple_form和Bootstrap 3时遇到问题。关于输入的包装标签。显示以下代码: 查看代码(带haml) config/simple\u form\u bootstrap.rb SimpleForm.setup do |config| config.input_class = "form-control" config.wrappers :bootstrap, tag: 'div', class: 'form-group', error_class: 'error'
SimpleForm.setup do |config|
config.input_class = "form-control"
config.wrappers :bootstrap, tag: 'div', class: 'form-group', error_class: 'error' do |b|
b.use :html5
b.use :placeholder
b.use :label, class: "control-label"
# b.wrapper tag: 'div', class: "col-sm-6" do |ba|
b.wrapper tag: 'div' do |ba|
ba.use :input
ba.use :error, wrap_with: { tag: 'span', class: 'help-inline' }
ba.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
end
end
config.default_wrapper = :bootstrap
我只想在默认情况下使用“水平形式”
生成的html
...
\<div class="form-group string optional refer_email_form_to">
<label class="string optional control-label col-sm-2" for="refer_email_form_to">To</label>
<div>
<input class="string optional form-control" id="refer_email_form_to" name="refer_email_form[to]" type="text">
</div>
</div>
...
。。。
\
到
...
我想要的是更改只包装
元素的
类,如下所示:
...
<div class="col-sm-6">
<input class="string optional form-control" id="refer_email_form_to" name="refer_email_form[to]" type="text">
<div>
...
。。。
...
我已经从simple_form的github页面阅读了自述文件,并在Google上搜索了这个问题,我知道我可以通过添加b.wrapper标签:“div”,class:“col-sm-6”do | ba |
到config/simple_form_bootstrap.rb文件来实现这一点,但真正的问题是我可能会对div使用不同的类,可能是其他形式的col-sm-9。我在视图中尝试了input\u html
,wrapper\u html
,但是wrapper\u html
对第一个
的效果,而input\u html
只对
元素产生效果
有没有办法在视图中动态更改
的包装器
b.wrapper tag: 'div' do |ba|
到
按如下方式设置输入字段
= f.input :to, label_html: { class: "col-sm-2" }, wrapper: :bootstrap, my_wrapper_html: { class: "css-class-name-goes-here" }
生成的HTML是
<div class="form-group string optional refer_email_form_to">
<label class="string optional control-label col-sm-2" for="refer_email_form_to">To</label>
<div class="css-class-name-goes-here">
<input class="string optional form-control" id="refer_email_form_to" name="refer_email_form[to]" type="text">
</div>
</div>
到
注释
config.default\u wrapper=:bootstrap
引导时,它不起作用。当我使用不同的名称(如bootstrap\u x
)时,该设置起作用。这可能是我的本地问题,所以这只是供您参考,以防您遇到相同的问题
= f.input :to, label_html: { class: "col-sm-2" }, wrapper: :bootstrap, my_wrapper_html: { class: "css-class-name-goes-here" }
<div class="form-group string optional refer_email_form_to">
<label class="string optional control-label col-sm-2" for="refer_email_form_to">To</label>
<div class="css-class-name-goes-here">
<input class="string optional form-control" id="refer_email_form_to" name="refer_email_form[to]" type="text">
</div>
</div>