2010-12-13 3 views
1

나는 validates_uniqueness_of :login, :e-mail 사용자 모델을 가지고 있습니다. 사용자가 자신의 정보를 user/new.html.erb에 입력하면 두 필드 중 하나 때문에 작성 작업이 실패 할 수 있습니다.플래시 [: 오류] validates_uniqueness_of을 기반으로 : 로그인, : 이메일

다음 번에 변경해야 할 필드 (또는 둘 모두)를 알려주는 데 사용자의 도움이 될 수 있도록 플래시를 사용자 정의 할 수 있습니까?

답변

0
flash[:error] = @user.errors.full_messages.to_sentence 

이 작업을 수행해야합니다. 그러나 잘못된 데이터가 포함 된 필드 옆에 오류를 표시하는 것이 좋습니다. formtastic과 같은 플러그인은 자동으로이 작업을 수행합니다.

Check the API 자세한 아이디어.

+0

이렇게하면 다음과 같은 메시지가 표시됩니다. '[ "이메일이 이미 전송되었습니다", "이메일이 이미 전송되었습니다", "로그인이 이미 완료되었습니다", "로그인이 이미 완료되었습니다"]. 어떻게하면 더 쉽게 읽을 수 있습니까? – sscirrus

+0

ActiveSupport의 'to_sentence'를 적용 했습니까 (편집 중에 추가 했습니까?)? 이 배열을''이미 전자 메일을 가져 왔고 로그인이 이미 완료되었습니다. ''로 변환해야합니다. –

+0

또한 리디렉션을 수행하지 않는 한 flash.now [: 오류]를 사용하여 다음 페이지에 다시 표시되지 않도록 할 수 있습니다 (다음 요청에 대해서는 플래시가 저장되고 flash.now는 그렇지 않습니다). –