#twitter-bootstrap #ruby-on-rails-4 #simple-form
#twitter-bootstrap #ruby-on-rails-4 #простая форма
Вопрос:
Я пытаюсь настроить simple_form с помощью начальной загрузки 4 alpha, у меня возникли проблемы с пользовательскими переключателями. Вывод html, который я пытаюсь получить, кажется довольно простым, но, похоже, я не могу правильно настроить конфигурацию.
целевой вывод:
<label class="col-xs-2 col-form-label">Label</label>
<div class="col-xs-10">
<label class="custom-control custom-radio">
<input id="radio1" name="radio" type="radio" class="custom-control-input">
<span class="custom-control-indicator"></span>
<span class="custom-control-description">Toggle this custom radio</span>
</label>
<label class="custom-control custom-radio">
<input id="radio2" name="radio" type="radio" class="custom-control-input">
<span class="custom-control-indicator"></span>
<span class="custom-control-description">Or toggle this other custom radio</span>
</label>
</div>
Попытка настройки:
config.wrappers :horizontal_radio, tag: 'div', class: 'form-group row', error_class: 'has-error' do |b|
b.use :html5
b.optional :readonly
b.use :label, class: 'col-xs-2 col-form-label'
b.wrapper tag: 'div', class: 'col-xs-10' do |ba|
ba.wrapper tag: 'label', class: 'custom-control custom-radio' do |bb|
bb.use :input, class: 'custom-control-input'
bb.wrapper tag: 'span', class: 'custom-control-indicator' do
end
bb.use :label_text, class: 'custom-control-description'
end
end
end
текущий вывод:
<label class="col-xs-2 col-form-label radio_buttons optional">Label</label>
<div class="col-xs-10">
<label class="custom-control custom-radio">
<input type="hidden" name="store[payment_type]" value="">
<span class="radio inline">
<input class="custom-control-input radio_buttons optional" type="radio" value="true" name="store[payment_type]" id="store_payment_type_true">
<label class="collection_radio_buttons" for="store_payment_type_true">Yes</label>
</span>
<span class="radio inline">
<input class="custom-control-input radio_buttons optional" readonly="readonly" type="radio" value="false" name="store[payment_type]" id="store_payment_type_false">
<label class="collection_radio_buttons" for="store_payment_type_false">No</label>
</span>
<span class="custom-control-indicator"></span>
Payment type
</label>
</div>
Это не так уж далеко, но это неправильно и в настоящее время не работает. Кажется, я не могу выбрать правильную конфигурацию, чтобы получить правильный вывод. Я пытался использовать wrap_with
, но мне нужно добавить дополнительные элементы в оболочку, а класс-оболочка, похоже, является оболочкой form_field, а не item_wrapper .
Если бы кто-нибудь мог указать мне правильное направление, это было бы действительно полезно.