2013-10-31 3 views
0

Как добавить класс для ввода в оболочку конфигурации Simpleform?Класс конфигурации Simple Form Rails для ввода

Я попытался ниже, но не кажется, что это будет работать

config.wrappers :horizontal, tag: 'div', class: 'form-group', error_class: 'has-error' do |b| 
    b.use :html5 
    b.use :placeholder 
    b.use :label 
    b.wrapper tag: 'div', class: 'col-lg-8' do |ba| 
     ba.use :input, my_wrapper_html: { class: 'form-control' } 
     ba.use :hint, wrap_with: { tag: 'p', class: 'help-block' } 
     ba.use :error, wrap_with: { tag: 'span', class: 'help-inline text-danger' } 
    end 
    end 
+0

Pls указать несколько вещей: что вы имеете в виду, что это не Работа? Используете ли вы какую-либо структуру CSS и какую версию? Что написано на ваш взгляд? – Leger

ответ

0

Похоже, это реализовать самозагрузки 3?

попробовать этот

config.wrappers :horizontal, tag: 'div', class: 'form-group', error_class: 'has-error', defaults: { input_html: { class: 'default_class' } } do |b| 
b.use :html5 
b.use :min_max 
b.use :maxlength 
b.use :placeholder 
b.optional :pattern 
b.optional :readonly 

    b.wrapper tag: 'div', class: 'controls' do |input| 
    input.use :label, class: 'horizontal' 
    input.wrapper tag: 'div' do |prepend| 
    prepend.use :input, class: 'horizontal' 
    end 
    input.use :hint, wrap_with: { tag: 'span', class: 'help-block' } 
    input.use :error, wrap_with: { tag: 'span', class: 'help-block has-error' } 
    end 
end 

взятую из Here

Я также должен был добавить THIS в конфигурационный файл слишком для входа, чтобы работать правильно.

0

К сожалению, я не уверен, что можно добавить любые классы для ввода внутри оболочки. Насколько мне известно, этот DSL b.use :input не имеет таких опций.

Вы можете использовать input_html вариант вместо:

= f.input :title, input_html: { class: 'my-input-class' } 

Эта особенность описанной here.

Для большинства сложных случаев вы можете определить свой собственный класс ввода под app/inputs каталоге:

class MyInput < SimpleForm::Inputs::BooleanInput 
    html_options = label_html_options.dup 
    html_options[:class] ||= [] 
    html_options[:class].push('my-input-class') 
    @builder.label(label_target, html_options) { 
    build_check_box_without_hidden_field + template.tag(:span).html_safe 
    } 
end 

чем использовать этот вход:

= f.input :title, as: :my_input 
Смежные вопросы