2013-06-23 3 views
0

Я использую жемчужину Simple_form в проекте Rails, над которым кто-то работал, прежде чем я появился на сцене, поэтому я не слишком хорошо знаком с ним.отображение сообщений simple_form

Где я могу изменить положение, в котором отображается мое сообщение об ошибке? В настоящее время они появляются под текстовым полем, например, так:

enter image description here

В принципе, местопребывание в моем проекте Rails является то говорят, "отобразить сообщение об ошибке под текстовым полем?

Я вижу:

<%= f.input :name, :required => true, :label_html => { :class => 'edit_form_titles' }, :error_html => { :class => 'cant_be_blank'} %> 

, но независимо от того, что я к этому коду, он по-прежнему оставляет пространство под текстовым полем. Я хочу, чтобы сообщение появилось сверху, без пробела в текстовом поле. В моей папке инициализаций есть файл simple_form.rb, который, вероятно, имеет дело с ним, но не уверен, где искать или что менять. Это simple_form 2.0.2.

ответ

1

Мне удалось отобразить мои ошибки в ярлыке над полем ввода.

С приведенным ниже кодом я присвоил своим ошибкам класс, который можно отформатировать как позиционирование и т. Д., Но всегда всегда был пустой div или что-то под полем ввода, которое помещало в него другие поля ввода из солидарной.

<%= f.input :name, :required => true, :label_html => { :class => 'edit_form_titles' }, :error_html => { :class => 'cant_be_blank'} %> 

В моих инициализаторах/simple_form.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 |input| 
     input.use :input 
     input.use :error, :wrap_with => { :tag => 'span', :class => 'help-inline' } 
     input.use :hint, :wrap_with => { :tag => 'p', :class => 'help-block' } 
    end 
    end 

Я изменил это:

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

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