그래서 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"}
가 생성 타격에 "승인되지 않은"다시 렌더링 새를 얻고 자. 이것은 정상적으로 행동하고 있습니다. 궁금해 할 경로를 게시 할 수 있으며 맞춤식 컨트롤러를 치고 있는지 확인하십시오. – trh
유효한 이메일/비밀번호로 로그인 할 때 create 메소드를 누르기 때문에 경로가 정확합니다. 확인되지 않은 사용자가 로그인을 시도 할 때'flash [: notice]'메시지를 만들려고합니다. – justindao
나는 당신이 메시지를 받고 있고 당신이 기대하는 메시지가 없거나 아무것도 얻지 못하고 있는지 알고 있습니까? – trh