2013-02-28 1 views
5

이 명확하게하기 위해, 내가 설정/로케일/devise.en.yml에서 오류 메시지를 편집하는 방법을 알고 있지만 오류 메시지가 이러한 유형의 스타일을 말하는 겁니다 :Devise 오류 메시지는 어떻게 편집합니까?

2 errors prohibited this user from being saved: 
  • 이메일은 할 수 없습니다
  • 암호는 비워 둘 수 없습니다 빈 수

-

내가 보는 모든 <%이 = devise_error_messages입니다! %> 가입 페이지에서,하지만 실제로 오류 메시지를 직접 편집하는 방법을 모르겠습니다.

내 경우에는 메시지가 왼쪽에 표시되고 내 서명은 가운데에 표시됩니다 (이상하게 보임), 나는 또한 메시지의 붉은 색을 좋아하지 않으며 다른 색을 선호합니다.

제 질문은 어떻게하면 오류 메시지의 스타일을 지정할 수 있습니까? 중심에 놓고 색상을 변경하십시오.

물어 보는 즉시 다른 컨트롤러 나 내용을 포함할지 모르겠다면 필요할 경우 OP로 업데이트하겠습니다.

답변

8

devise_error_messages의 출처를 확인하십시오! 방법은 https://github.com/plataformatec/devise/blob/master/app/helpers/devise_helper.rb입니다.

<div id="error_explanation"> 

그래서 당신은 당신의 CSS에 그 사실을 사용할 수있는 내부

모든 오류가 있습니다. 내부에서는 기본 스타일링 만 사용됩니다. 헤더 메시지의 경우 h2, 개별 오류의 경우 ul입니다. #errorExplanation 스타일에 대한 예 (예 : how to beautify validations in rails)를 참조하십시오. 이 예제에서 #errorExplanation을 #error_explanation으로 바꾸는 것을 잊지 마십시오.

하지만 가장 좋은 방법은이 방법을 다시 쓰거나 작성하고 직접 작성하고 사용하는 것입니다. 원하는 모든 스타일이 적용될 수 있습니다.

개인적으로 내가 속한 필드 옆에 오류를 표시하는 것이 좋습니다. 예를 들어이를 수행하는 방법에 대한이 SO 스레드를 참조하십시오 : Rails: Errors close to particular fields in forms.

또 다른 개선 사항은 양식의 simple_form으로 전환하는 것입니다 (오류 발생시 무료로 다음 필드로 가져 오는 것). 예를 들어, 우수한 Railscast를 참조하십시오 : http://railscasts.com/episodes/234-simple-form. 가장 최근에 개정 된 Railscast가 있지만 Pro 구독자인지 확실하지 않습니다.

+0

답장을 보내 주셔서 감사합니다. @moonfly, 그냥 알려 주시면 게시물이 이전 버전의 Devise를 참조하는 것으로 보입니다. 위의 방법을 거의 성공하지 못했습니다. 내 장치 오류 메시지는 <% = devise_error_messages! %>하지만 해당 파일의 내용을 찾을 수 없습니다. –

+0

위의 답변을 업데이트했습니다. 예제에서 #errorExplanation 대신 #error_explanation을 사용해야합니다. – moonfly

+0

감사! 그게 도움이, 여기에 스크린 샷 : http://i.imgur.com/1r4hQMM.png - 거의 그냥 암호 상자를 이동하고,뿐만 아니라 회색으로해야합니다. 거기에 별도의 코드가 있습니까? –

관련 문제