2014-05-10 3 views
0
내가 레일 (4)와 함께 고안 사용

내부의 잘못된 사용자 로그인을 감지/new.html.erb 어떻게 잘못된 사용자의 로그인 시도 있었다는 것을 알 수 있습니까? 내가 원하는 것은 로그인 시도가 잘못되었을 때 오류 메시지를 표시하는 것입니다. 설계상의 이유로 플래시 메시지를 사용할 수 없습니다.내 세션에서 뷰 템플릿

업데이트 :

<%- flash.each do |name, msg| -%> 
<%= content_tag :div, msg, :id => "flash_#{name}" if msg.is_a?(String) %> 
<%- end -%> 

을하지만 로그인 있는지 여부를 파악하는 플래시 메시지의 내용에 의존하는 경우이 가난한 디자인 : 나는이 같은 오류 메시지를 얻을 수 있다는 것을 발견 어떤 연구를하고 후 성공적이었다. resource.errors도 시도했지만 비어 있습니다. 이것은 기본적인 기능입니다, 나는 왜 그것을 이해하는 데 많은 시간을 필요로하는지 이해하지 못합니다.

<% if resource.errors.present? %> 
    <%= devise_error_messages! %> 
<% end %> 

환호 :

+0

제안 해 주셔서 감사합니다. 더 쉬운 방법이 있습니까? 나는 양식을 제출하고, 컨트롤러를 고안하고, 자격 증명을 확인하고, 로그인 할 수 없으며 양식을 다시 표시합니다. 나는 컨트롤러가 로그인이 올바르지 않다는 것을 알 수있는 어떤 객체를보기에 전달해야한다고 생각했습니다. 플래시 메시지가 현재 상태를 얻는 유일한 방법이라고 믿는 것은 어렵습니다. 소스를 확인합니다. – andr111

+0

죄송 내 실수, 나는 역할 사용자에 대한 귀하의 질문을 생각합니다. 당신은 devise에서 세션 컨트롤러를 사용자 정의 할 수 있습니다. [devise wiki] (https://github.com/plataformatec/devise/wiki/How-Tos)를 읽으셨습니까? –

+0

난 그냥 시작, 그것은 많은 정보는, 그래서 나는 같은 쉽게 할 수 있어야한다 생각하고 있었다 <% errors.length 경우> 여기에 0 %> 디스플레이 오류 <% end %> – andr111

답변

0

이 당신이보기에서 오류가 있는지 확인하는 작업을해야한다.

관련 문제