如何从输入中简单地删除或替换包装器 'col-sm-9' 到 'col-sm-12'?

How to remove or replace wrapper 'col-sm-9' to 'col-sm-12' in simple from input?

<%= simple_form_for [blog_post, comment], remote: true do |f| %>
  <div class="row">
    <%= f.input :content, label: false, input_html: { rows: 7 } %>
  </div>
<% end %>

生成下一个代码:

<form>
  <div class="row">
    <div class="form-group text required blog_comment_content">
      <div class="col-sm-9">
        <textarea rows="7" class="text required form-control form-control" placeholder="Comments" name="blog_comment[content]" id="blog_comment_content"></textarea>
      </div>
    </div>
  </div>
</form>

如何删除或替换包装 'col-sm-9' 到 'col-sm-12'?

您可以在 config/initializers/simple_form_bootstrap.rb 中设置包装器。 查看 simple_form and check example.

的文档

不修改默认包装器,而是在 simple_form 设置块中添加 custom 包装器 :customized_form

config/initializers/simple_form_bootstrap.rb

config.wrappers :customized_form, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
  b.use :html5
  b.use :placeholder
  b.optional :maxlength
  b.optional :pattern
  b.optional :min_max
  b.optional :readonly
  b.use :label, class: 'col-sm-12 control-label'

  b.wrapper tag: 'div', class: 'col-sm-12' do |ba|
    ba.use :input, class: 'form-control'
    ba.use :error, wrap_with: { tag: 'span', class: 'help-block' }
    ba.use :hint,  wrap_with: { tag: 'p', class: 'help-block' }
  end
end

然后像这样使用新创建的包装器:

simple_form_for([blog_post, comment], wrapper: :customized_form)