Organização de rotas no Rails - restful_authentication, sessão e / login
-
03-07-2019 - |
Pergunta
Eu estou lutando com a configuração de rota para uma aplicação Rails. Eu instalei restful_authentication e principalmente seguido as instruções. Eu configurei as rotas desta forma:
map.login '/login', :controller => 'sessions', :action => 'new'
map.logout '/logout', :controller => 'sessions', :action => 'destroy'
map.resource :session
Se você não está logado, você está redirecionado para http: // localhost: 3000 / sessão / nova .
Faz algum tipo de sentido, como o código em lib / authenticated_system.rb diz redirect_to new_session_path
.
Mas eu pensei que o mapeamento rotas deveria funcionar nos dois sentidos (código de URL e URL de código). Alguém pode explicar? Graças
Solução
map.resource :session
cria alguns recursos nomeados para você, incluindo new_session_path
(ver ActionController :: recursos ).
map.login
e map.logout
são rotas apenas auxiliares para tornar seu código mais fácil de entender. map.login
(que gera login_path
) aponta para o mesmo controlador / acção combinação como new_session_path
faz, é apenas mais fácil de lembrar de relance o que ele faz.