Organización de rutas en Rails - restful_authentication, session y / login
-
03-07-2019 - |
Pregunta
Estoy luchando con la configuración de ruta para una aplicación Rails. He instalado restful_authentication y seguí principalmente las instrucciones. He configurado las rutas de esta manera:
map.login '/login', :controller => 'sessions', :action => 'new'
map.logout '/logout', :controller => 'sessions', :action => 'destroy'
map.resource :session
Si no ha iniciado sesión, será redirigido a http: // localhost: 3000 / session / nuevo .
Tiene algún tipo de sentido, ya que el código en lib / authenticated_system.rb dice redirect_to new_session_path
.
Pero pensé que el mapeo de rutas debía funcionar en ambos sentidos (código a URL y URL a código). Alguien puede explicar? Gracias
Solución
map.resource: session
crea algunos recursos con nombre para usted, incluidos new_session_path
(consulte ActionController :: Resources ).
map.login
y map.logout
son solo rutas de ayuda para que su código sea más fácil de entender. map.login
(que genera login_path
) apunta al mismo combo de controlador / acción que new_session_path
, es más fácil recordar de un vistazo qué lo hace.