2008-10-16 1 views
0

레일즈 애플리케이션의 라우트 설정에 어려움을 겪고 있습니다. 나는 restful_authentication을 설치했고 주로 지침을 따랐습니다. 당신은 로그인하지 않은 경우레일스에서의 라우트 구성 - restful_authentication, session,/login

map.login '/login', :controller => 'sessions', :action => 'new' 
map.logout '/logout', :controller => 'sessions', :action => 'destroy' 
map.resource :session 

, 당신은 http://localhost:3000/session/new로 리디렉션하고 있습니다 : 나는 노선이 방법을 설정했습니다. lib/authenticated_system.rb의 코드가 redirect_to new_session_path이라고 말하면서 어떤 의미가 있습니다.

하지만 경로 매핑이 두 가지 방법으로 모두 작동해야한다고 생각했습니다 (코드를 URL과 코드로 코드). 누군가 설명 할 수 있습니까? 감사합니다

답변

3

map.resource :sessionnew_session_path (ActionController::Resources 참조)을 포함하여 몇 가지 이름이 지정된 리소스를 생성합니다.

map.loginmap.logout은 코드를 더 쉽게 이해할 수 있도록 돕는 경로입니다. map.login (login_path을 생성 함)은 new_session_path과 동일한 컨트롤러/동작 콤보를 가리키며, 무엇을하는지 한 눈에 기억하기가 쉽습니다.

+0

map.login이 new_session_path를 만들지 않는다는 것을 이해합니다. (코드가 이해되어서 이해할 수 있지만) login_path. new_session_path를 lib의 login_path로 바꿀 것입니다. 감사. –