Простая пользовательская оболочка формы, класс на входе

Я использую гем simple_form.

У меня есть собственная оболочка, вот код:

  config.wrappers :inlineBootstrap, :tag => 'div', :class => 'control-group', :error_class => 'error' do |b|
    b.use :html5
    b.use :placeholder
    b.use :label, :class => "col-lg-2"
    b.wrapper :tag => 'div', :class => 'controls col-lg-10' do |ba|
      ba.use :input, :class => "form-control"
      ba.use :error, :wrap_with => { :tag => 'span', :class => 'help-inline' }
      ba.use :hint,  :wrap_with => { :tag => 'p', :class => 'help-block' }
    end
  end

Я хочу эту строку кода:

ba.use :input, :class => "form-control"

чтобы сгенерировать класс на фактическом вводе, то, что он делает прямо сейчас, — это создание оболочки над вводом и добавление класса в оболочку, а не ввод.

любые предложения?


person Rodrigo Zurek    schedule 26.08.2014    source источник


Ответы (1)


На основе запроса на вытягивание #622 вы указываете класс в массиве:

ba.use :input, :class => [ "form-control" ]

это исправление работает только на Simpleform 3.0+

person vee    schedule 26.08.2014
comment
Я на версии 2.1.1 для простой формы, я думаю, что слияние для 3.0+ - person Rodrigo Zurek; 26.08.2014
comment
я застрял на 2.1.1, потому что я на рельсах 3 проекта - person Rodrigo Zurek; 26.08.2014
comment
В этом случае, я полагаю, вы застряли с передачей класса из самого ввода как: f.input :foo, input_html: { class: 'form-control' } в вашем шаблоне. Я не думаю, что то, что вы просите, возможно в более старой версии SimpleForm. - person vee; 26.08.2014