使用Rails和SimpleForm在radio_buttons中添加HTML元素

时间:2019-02-14 14:51:25

标签: ruby-on-rails simple-form

对于我的项目,我尝试使用SimpleForm生成的span类在radio块中插入HTML元素(请参见下面的代码示例)。但是经过许多测试和研究,我还没有插入这个元素。

我需要这个HTML元素,用于向我的单选按钮选中标记添加渐变边框。

在我的表单中,我有这行代码来生成radio_buttons:


<%= f.input :gender, as: :radio_buttons, wrapper: :custom_radio_buttons, collection: [['female', '0'], ['male', '1']] %>


在我的初始化程序中,我为自定义包装程序添加了此块:


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

  b.wrapper tag: 'div', class: 'radio-buttons' do |ba|                                                                                                                                              
    ba.use :label_input
  end                                                                                                                                                                                                 

  b.use :error, wrap_with: { tag: 'span', class: 'help-block' }                                                                                                                                       
  b.use :hint,  wrap_with: { tag: 'p', class: 'help-block' }
end


这生成了以下HTML块:


<div class="form-group radio_buttons optional"> 
  <div class="radio-buttons">
    <label class="radio_buttons optional">
      Gender
    </label>
    <input type="hidden" name="gender" value="">
    <span class="radio">
      <input class="radio_buttons optional" type="radio" value="0" name="gender" id="gender_0">
      <label class="collection_radio_buttons" for="gender_0">
        female
      </label>
    </span>
    <span class="radio">
      <input class="radio_buttons optional" type="radio" value="1" name="gender" id="gender_1">
      <label class="collection_radio_buttons" for="gender_1">
        male
      </label>
    </span>
  </div>
</div>

如何将此元素插入SimpleForm生成的<span class="radio">块中?

谢谢。

0 个答案:

没有答案