2013-10-18 2 views
2

그래서 Devise가 설치된 Rails 앱이 있습니다. 나는 내 Users 테이블에 :confirmable을 설정하고 확인 이메일을 보내는 것이 완벽하게 작동합니다.Rails + Devise : 사용자가 확인 이메일을 통해 확인하기 전에 로그인을 시도하면 오류 알림이 표시되지 않습니까?

그러나, 나는 확인되지 않은 사용자가 로그인을 시도하고있는 작은 문제로 실행 해요.

을 잘못된 이메일/암호 조합이 로그인에 입력되면, 나는 "잘못된 이메일이나라는 플래시 통지를 얻을 암호.". 그러나 확인되지 않은 사용자가 올바르게 로그인하면 다시 /users/sign_in으로 리디렉션되지만 /config/locales/devise.en.yml에 정의 된 "You have to confirm your account before continuing."에 대한 플래시 메시지가 표시되지 않습니다.

나는 무시했다 thses 방법 :

RegistrationsController) : 새로운 : 생성

SessionsController) :

ConfirmationsController 작성) :

after_confirmation_path_for 확인되지 않은 사용자 정확히 고안 할 무엇을 올바른 자격 증명으로 로그인 하시겠습니까? sessions#create 메서드의 맨 위에 binding.pry 문을 넣으려고했으나 Devits에 일종의 외부 검사가 있어야한다는 의미입니다. 나는 아무 소용이 소스 코드를 보려고했습니다. sessions#create 방법이 박히는 것처럼

Started POST "https://stackoverflow.com/users/sign_in" for 127.0.0.1 at 2013-10-18 15:04:26 -0400 
Processing by SessionsController#create as HTML 
    Parameters: {"utf8"=>"✓", "authenticity_token"=>"03kQgiMGyXcq/nW8jlVyGkGDw1Q9lpP+JZ03e+LZHPU=", "user"=>{"email"=>"[email protected]", "password"=>"[FILTERED]"}, "commit"=>"Login"} 
    [1m[35mUser Load (0.7ms)[0m SELECT `users`.* FROM `users` WHERE `users`.`email` = '[email protected]' LIMIT 1 
    [1m[36m (0.2ms)[0m [1mBEGIN[0m 
    [1m[35m (0.1ms)[0m COMMIT 
Completed 401 Unauthorized in 90ms 


Started GET "https://stackoverflow.com/users/sign_in" for 127.0.0.1 at 2013-10-18 15:04:27 -0400 
Processing by SessionsController#new as HTML 
    Rendered devise/shared/_links.haml (0.6ms) 
    Rendered devise/sessions/new.html.haml within layouts/application (5.0ms) 
    Rendered layouts/_header.html.haml (0.9ms) 
    Rendered layouts/_navigation.html.haml (0.6ms) 
    Rendered layouts/_footer.html.haml (0.9ms) 
Completed 200 OK in 33ms (Views: 28.0ms | ActiveRecord: 0.0ms) 

는 그래서 볼 않습니다

이 로그 상태는 무슨 일이 일어나고있는 것입니다. 그래서 나는 여기서 어디로 가야할지 모르겠습니다. 어떤 도움을 주시면 감사하겠습니다!

devise_for :users, :controllers => { 
    :registrations => "registrations", 
    :sessions => "sessions", 
    :confirmations => "confirmations"} 
+0

가 생성 타격에 "승인되지 않은"다시 렌더링 새를 얻고 자. 이것은 정상적으로 행동하고 있습니다. 궁금해 할 경로를 게시 할 수 있으며 맞춤식 컨트롤러를 치고 있는지 확인하십시오. – trh

+0

유효한 이메일/비밀번호로 로그인 할 때 create 메소드를 누르기 때문에 경로가 정확합니다. 확인되지 않은 사용자가 로그인을 시도 할 때'flash [: notice]'메시지를 만들려고합니다. – justindao

+0

나는 당신이 메시지를 받고 있고 당신이 기대하는 메시지가 없거나 아무것도 얻지 못하고 있는지 알고 있습니까? – trh

답변

1

config/routes.rb

는 그것을 알아 냈다. [: 예고] 유증에 뭔가가 :failures 아래 메시지 중 하나를 호출 할 때, 그것은 플래시에 메시지를 넣어하지 않습니다 [: 경고,이 플래시에서 메시지를두고, 그래서 난 그냥 추가 할 필요

#alert= alert 

내 햄에.

출처 : Always getting 401 Unauthorized with new install of Rails + Devise