Подтвердить что ты не робот

Использование simple_form с бутстрапом 3

Кто-нибудь знает, как изменить класс simple_form с использованием "элементов управления" на "form-control". Это было внесено в Bootstrap 3. Я знаю, что есть много опций в config/initializers/simple_form.rb и config/initializers/simple_form_bootstrap.rb, но я не могу найти то, что мне нужно.

  config.wrappers :bootstrap, :tag => 'div', :class => 'control-group', :error_    class => 'error' do |b|
   b.use :html5
   b.use :placeholder
   b.use :label
   b.wrapper :tag => 'div', :class => 'controls' do |ba|
     ba.use :input
     ba.use :error, :wrap_with => { :tag => 'span', :class => 'help-inline' }
    ba.use :hint,  :wrap_with => { :tag => 'p', :class => 'help-block' }
  end
end

в вышесказанном вы можете поменять "контрольную группу" на "form-group", но я не вижу способа изменить класс для входного тега.

4b9b3361

Ответ 1

В новых версиях simple_form существует новая глобальная конфигурация, которую вы можете использовать:

config.input_class = "form-control"

Вам нужна версия gem > 3.0.0, которая зависит от rails > 4.0.0 или предстоящей версии 2.2. Вы можете использовать ветвь v2.2 на github на данный момент.

См. https://github.com/plataformatec/simple_form/blob/v2.2/CHANGELOG.md

Ответ 2

Почему бы просто не изменить оболочку по умолчанию в вашем инициализаторе simple_form_bootstrap.rb?

  config.wrappers :bootstrap, tag: :div, class: "form-group", error_class: "has-error" do |b|

    # Form extensions
    b.use :html5
    b.use :placeholder

    # Form components
    b.use :label
    b.wrapper tag: :div do |ba|
      ba.use :input
      ba.use :hint,  wrap_with: { tag: :p, class: "help-block" }
      ba.use :error, wrap_with: { tag: :span, class: "help-block text-danger" }
    end
  end