나는 레일 애플리케이션을 작업 중이며 책에 따라 간단한 로그인 시스템을 추가했다. 경로가 존재하더라도 로그인 시도 후 일치하는 경로가 없습니까?
나는 컨트롤러 관리자를 만든 : 레일 그것은 문제에서이없는 내가 http://localhost:3000/admin/login에 도착 할 수get "admin/login"
get "admin/logout"
get "admin/index"
- 을 routes.db 다음 경로를 추가 컨트롤러 관리자 로그인 로그 아웃 지수
을 생성 모든.
- 로그인하려고하면 "/ admin/login"과 일치하는 경로가 없습니다.
이제 첫 번째 혼란스러운 부분은 내 AdminController의 "로그인"메소드가 전혀 실행되지 않는다는 것입니다.
두 번째 혼란스러운 부분이 코드가 마법처럼 작동한다는 것입니다 -/관리자/로그인에 이르기까지 모든 리디렉션
def authorize
unless User.find_by_id(session[:user_id])
flash[:notice] = "you need to login"
redirect_to :controller => 'admin', :action => 'login'
end
end
Sidenotes :
- 내가 서버를 여러 번 다시 시작합니다.
- 캐싱 문제가 없는지 확인하기 위해 다른 브라우저를 사용해 보았습니다. 당신이 레일 및/또는 인증에 대해 배울 로그인 시스템을 구축하지 않는 한
당신이 로그인하려고 할 때 POST 요청이 아니라 GET이라고 생각합니다. 로그인 양식 코드 표시 – fl00r