Изменение положения чекбоксов в formtastic

checkbox.jpg

Недавно столкнулся с небольшой проблемой при работе с formtastic и чтобы не забыть решение, расскажу о нём здесь, может не мне одному пригодиться.

Проблема в том что стандартный метод который вставляет чекбокс на форму генерирует разметку которая впихивает чекбокс внутрь HTML тега label и как следствие чекбокс отображается в первой колонке где находятся названия полей, что выглядит очень неестественно.

...
= form.input :remember_me, :as => :boolean
...
Чекбокс отображается в колонке с названиями полей
Чекбокс отображается в колонке с названиями полей

Конечно можно применить CSS стиль и выровнять его так как надо, но ИМХО это не совсем правильное решение проблемы. Мой вариант заключается в том чтобы самому создать ряд в котором находится подпись к чекбоксу и сам чекбокс:

...
= form.input :password, :as => :password
%li
  = form.label :remember_me, "Remember me"
  = form.check_box :remember_me
...
Чекбокс теперь отображается в колонке где находятся все input элементы
Чекбокс теперь отображается в колонке где находятся все input элементы

Обратите внимание на вызов метода check_box т.к. класс SemanticFormBuilder унаследован от ActionView::Helpers::FormBuilder, то можно использовать любые методы этого класса.

Тэги: Tips formtastic
Будь всегда в курсе последних новостей блога подписавшись на новости
в формате RSS. Присоединяйся!
* * *

Комментарии

* * *

Добавить новый комментарий

Доступные BB теги

*

* (не будет опубликован)

(если есть)

  • Multi CAPTCHA Refresh2
  • *

1. Проверьте комментарий перед отправкой
2. Все комментарии проходят модерацию перед публикацией в блоге