2011-08-02 7 views
1

내 응용 프로그램에서 (Devise를 사용하여) token_authenticatable을 사용하고 싶습니다.RoutingError 초기화되지 않은 상수

this 대답을 사용하여 app/controllers/users_sessions_controller.rb 파일에 class Users::SessionsController을 추가했습니다 (파일 위치가 맞습니까?).

데이터베이스에 authentication_token을 생성하려면 다음 행을 작성 메소드의 네 번째 줄에 current_user.reset_authentication_token! 행을 추가하십시오.

devise docimentation에서 "컨트롤러 구성"섹션을 사용하여 내 경로에 devise_for :users, :controllers => {:sessions => "users/sessions"} 행을 추가했습니다.

나는 또한 파일 app/views/users/session/new.html.erb을 가지고 있습니다.

브라우저에 로그인하거나 로그 아웃하려고하면 Routing Error uninitialized constant Users이 표시됩니다.

나는 어떤 일이 일어나는지 전혀 모른다. 컨트롤러 클래스의 이름을 잘못 지정했거나 잘못 배치했다고 생각하지만 확실히 알지 못합니다.

답변

3

당신은 당신의 컨트롤러가 당신도 할 수

class UserSessionsController 

경로와 app/controllers/user_sessions_controller.rb에있는 당신의 컨트롤러에 대한 중첩 된 폴더를 원하지 않는 경우 Users::SessionsController 다음은 app/controllers/users/sessions_controller.rb

에있을 필요가 이름하려는 경우 being : devise_for :users, :controllers => {:sessions => "user_sessions"}

+0

예, 정확하게! 나는 어제 그것을 알아 냈습니다. 그러나 당신의 대답은 정확하고 도움이됩니다. 설명 주셔서 감사합니다 :) – Mateusz

+0

2 년 후, 당신은 방금 조금 덜 무서운 내 밤을 만들었습니다! :) – sebkkom

관련 문제