1
私はSimpleForm + Bootstrapを使用しています。次のように私は、チェックボックスの入力直後<i></i>
タグを追加する必要:だから私は、初期化子simple_formがカスタムラッパーにデフォルトラベルを適用しないようにするにはどうすればいいですか?
#initializers/simple_form_bootstrap.rb
config.wrappers :vertical_boolean, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
b.use :html5
b.optional :readonly
b.wrapper tag: 'div', class: 'checkbox' do |ba|
ba.wrapper tag: 'label' do |bb|
bb.use :input
bb.wrapper tag: 'i' do |baa|
end
bb.use :label_text
end
end
b.use :error, wrap_with: { tag: 'span', class: 'help-block' }
b.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
end
を変更しかし、これは余分なラベルタグ
<div class="form-group">
<div class="checkbox">
<label>
<label class="checkbox">
<input type="checkbox" >
<i></i>
Label Text
</label>
</label>
</div>
</div>
label.checkbox
を挿入している
<div class="form-group">
<div class="checkbox">
<label class="checkbox">
<input type="checkbox" >
<i></i>
Label Text
</label>
</div>
</div>
simple_formによって適用されるデフォルトのラベルです。すなわち、
config.boolean_label_class = 'checkbox'
を経由します。だから私は私のカスタムラベルラッパーを削除することができますように見えます。
b.wrapper tag: 'div', class: 'checkbox' do |ba|
# ba.wrapper tag: 'label' do |bb|
bb.use :input
bb.wrapper tag: 'i' do |baa|
end
bb.use :label_text
# end
end
しかし、ラベルは入力を囲むだけです。
<div class="form-group">
<div class="checkbox">
<label class="checkbox">
<input type="checkbox" >
</label>
<i></i>
Label Text
</div>
</div>
inline_label
を有効にして無効にしようとしました。私はデフォルトのsimple_formラッパーを含む新しい設定ファイルを使用しています。唯一の変更は上記のとおりです。
use label_input
が呼び出されていない場合、Simple_Formが入力にラベルを適用するのはなぜですか?
入力を包むようにsimple_formを設定するには、<i>
というタグとラベルのテキストにラベルを付けますか?