SimpleForm(DOB无法正确显示)

问题描述:

由于某些原因,SimpleForm将Date字段视为与其他字段不同。这是运行安装后的标准输出。你可以看到,DOB(DATE)缺少某些元素我需要添加:SimpleForm(DOB无法正确显示)

  1. 添加COL-SM-3级

类=” COL-SM-3控制 - 标签

  1. 添加COL-SM-9的div
  2. < 的div类= “COL-SM-9”>

    的Gemfile

    gem 'bootstrap-sass' 
    gem 'bootstrap-sass-extras' 
    gem 'simple_form' 
    

    _form.html.erb

    <%= simple_form_for @firm_info, html: { class: 'form-horizontal' }, wrapper: :horizontal_form, wrapper_mappings: { check_boxes: :horizontal_radio_and_checkboxes, radio_buttons: :horizontal_radio_and_checkboxes, file: :horizontal_file_input, boolean: :horizontal_boolean } do |f| %> 
    
        <%= f.input :last_name %> 
        <%= f.input :dob %> 
    

    _form.html(结果)

    <div class="form-group string optional firm_info_last_name"> 
          <label class="col-sm-3 control-label string optional" for="firm_info_last_name">Last name</label> 
          <div class="col-sm-9"> 
           <input class="form-control string optional" name="firm_info[last_name]" id="firm_info_last_name" type="text"> 
          </div> 
        </div> 
    
    <div class="form-group date optional firm_info_dob"> 
        <label class="control-label date optional" for="firm_info_dob_1i">Dob</label> 
        <div class="form-inline"> 
         <select id="firm_info_dob_1i" name="firm_info[dob(1i)]" class="form-control date optional"> 
           <option value="2011">2011</option> 
           <option value="2012">2012</option> 
           </select> 
           <select id="firm_info_dob_2i" name="firm_info[dob(2i)]" class="form-control date optional"> 
           <option value="1">January</option> 
           <option value="2">February</option> 
           </select> 
           <select id="firm_info_dob_3i" name="firm_info[dob(3i)]" class="form-control date optional"> 
           <option value="1">1</option> 
           <option value="2" selected="selected">2</option> 
           <option value="3">3</option> 
         </select> 
        </div> 
    </div> 
    

    _form.html(我希望它看起来像)

    <div class="form-group string optional firm_info_last_name"> 
          <label class="col-sm-3 control-label string optional" for="firm_info_last_name">Last name</label> 
          <div class="col-sm-9"> 
           <input class="form-control string optional" name="firm_info[last_name]" id="firm_info_last_name" type="text"> 
          </div> 
        </div> 
    
    <div class="form-group date optional firm_info_dob"> 
        <label for="firm_info_dob_1i" class="**col-sm-3** control-label date optional">Dob</label> 
        **<div class="col-sm-9">** 
         <div class="form-inline"><select id="firm_info_dob_1i" name="firm_info[dob(1i)]" class="form-control date optional"> 
          <option value="2011">2011</option> 
          <option value="2012">2012</option> 
         </select> 
         <select id="firm_info_dob_2i" name="firm_info[dob(2i)]" class="form-control date optional"> 
          <option value="1">January</option> 
          <option value="2">February</option> 
         </select> 
         <select id="firm_info_dob_3i" name="firm_info[dob(3i)]" class="form-control date optional"> 
          <option value="1">1</option> 
          <option value="2" selected="selected">2</option> 
          <option value="3">3</option> 
         </select> 
         </div> 
    </div> 
    
开始=>

simple_form.rb

**OLD** 
config.wrappers :multi_select_date, tag: 'div', class: 'form-group', error_class: 'has-error' do |b| 
    b.use :html5 
    b.optional :readonly 
    b.use :label, class: 'control-label' 
    b.wrapper tag: 'div', class: 'form-inline' 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 

**REVISED** 
config.wrappers :multi_select_date, tag: 'div', class: 'form-group', error_class: 'has-error' do |b| 
    b.use :html5 
    b.optional :readonly 
    b.use :label, class: 'col-sm-3 control-label' 
    b.wrapper tag: 'div', class: 'col-sm-9' do |bb| 
      bb.wrapper tag: 'div', class: 'form-inline' 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 
end 
config.wrapper_mappings = { 
    check_boxes: :vertical_radio_and_checkboxes, 
    radio_buttons: :vertical_radio_and_checkboxes, 
    file: :vertical_file_input, 
    boolean: :vertical_boolean, 
    datetime: :multi_select_date, 
    date: :multi_select_date, 
    time: :multi_select_date 
}