Rails:simple_form中的提交按钮的自定义包装器?

Max*_*vak 17 ruby-on-rails wrapper simple-form

我正在使用带引导程序3的simple_form gem.我想要一个提交按钮的包装器

现在它将HTML显示为

<form id="new_order" ...>
    ...

   <input class="btn btn-primary" type="submit" value="Save" name="commit">
</form>
Run Code Online (Sandbox Code Playgroud)

我想写一个包装器,所以HTML将是:

<form id="new_order" ...>
  ...

  <div class="form-group">
     <div class="col-sm-offset-2 col-sm-10">
        <input class="btn btn-primary" type="submit" value="Save" name="commit">
     </div>
 </div>
Run Code Online (Sandbox Code Playgroud)

我到目前为止得到了这个:

应用程序/初始化/ simple_form_bootstrap.rb:

options[:wrapper] = :horizontal_form
options[:wrapper_mappings] = {
  check_boxes: :horizontal_radio_and_checkboxes,
  radio_buttons: :horizontal_radio_and_checkboxes,
  file: :horizontal_file_input,
  boolean: :horizontal_boolean,

 # what to write here??
 # submit: :horizontal_submit_button

}
Run Code Online (Sandbox Code Playgroud)

这是我的包装:

  config.wrappers :horizontal_submit_button, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
     b.use :html5
     b.use :placeholder

     b.wrapper tag: 'div', class: 'col-sm-offset-2 col-sm-10' do |ba|
       ba.use :input
       # some coe goes here, maybe
     end
  end
Run Code Online (Sandbox Code Playgroud)

在wrapper_mappings中使用哪个输入类型来提交按钮?如何写那个包装器?

sev*_*cat 1

我今天想做同样的事情。奇怪的是,我找不到通过包装器 API 来完成此操作的方法,但默认情况下 Simple Form 喜欢将其输入包装在 a 中div.form-inputs,将提交按钮包装在div.form-actions. 所以我设计了div.form-actionsto@extend .col-md-offset-4以获得我想要的结果。

希望这可以帮助!