Rails и Formtastic: как отобразить метку флажка справа?
Я использую Twitter Bootstrap.
У меня есть следующий код...
<div class="row">
<div class="span5">
<%= f.input :is_authorized_to_leave_with_child %>
<%= f.input :is_emergency_contact %>
</div>
<div class="span5">
</div>
</div>
Проблема в том, что метка отображается слева, а флажок справа. С другой стороны, как выглядит раздел с формой флажка Twitter Bootstrap, проверьте его: http://twitter.github.com/bootstrap/base-css.html
Флажок справа, а метка справа. Как я могу отобразить это так?
1 ответ
Начиная с formtastic 2.x, вы можете переопределить поведение существующих входных данных, используя app/inputs/#{ input_name.underscore }_input.rb
файл.
Поведение по умолчанию BooleanInput
is: call to_html
метод, который вызывает label_with_nested_checkbox
, который вызывает label_text_with_embedded_checkbox
, который создает следующий макет:
<label>
<input />
</label>
и использует эту логику:
check_box_html << "" << label_text
Итак, все, что вам нужно сделать, это просто создать app/inputs/boolean_input.rb
файл с этим кодом:
class BooleanInput < Formtastic::Inputs::BooleanInput
def label_text_with_embedded_checkbox
label_text << "" << check_box_html
end
end
И изменить app/assets/formtastic-ie7.css
файл, чтобы сделать этот ввод более привлекательным:
.formtastic .boolean label input {
left:-4px;
}
Вот как это выглядит: