2013-06-23 4 views
0

레일스 프로젝트에서 Simple_form 젬을 사용하고 있습니다. 씬에 오기 전에 누군가가 작업했기 때문에 너무 익숙하지 않습니다.simple_form 메시지를 표시합니다.

어디에서 오류 메시지가 표시되는 위치를 변경할 수 있습니까? 현재 그들과 같이, 텍스트 상자 아래에 나타납니다

enter image description here 기본적으로

, 내 레일 프로젝트의 행방이이 이야기되고있는 '텍스트 상자에서 오류 메시지를 표시?'

내가 볼 수 있습니다

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

하지만 난 그 코드에 무슨 상관없이, 그것은 여전히 ​​텍스트 상자 아래 공간을 남긴다. 텍스트 상자 아래에 공백없이 메시지를 맨 위에 표시하려고합니다. 내 initializers 폴더에 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 

내 레이블의 텍스트 옆에 텍스트가 정확히 표시되도록 cant_be_blank 클래스 형식을 지정할 수 있습니다.

관련 문제