Organizzazione di rotte in Rails & # 8212; restful_authentication, sessione e / login
-
03-07-2019 - |
Domanda
Sto lottando con la configurazione del percorso per un'applicazione Rails. Ho installato restful_authentication e per lo più ho seguito le istruzioni. Ho impostato i percorsi in questo modo:
map.login '/login', :controller => 'sessions', :action => 'new'
map.logout '/logout', :controller => 'sessions', :action => 'destroy'
map.resource :session
Se non hai effettuato l'accesso, verrai reindirizzato a http: // localhost: 3000 / session / nuova .
Ha un certo senso, poiché il codice in lib / authenticated_system.rb dice redirect_to new_session_path
.
Ma ho pensato che la mappatura dei percorsi avrebbe dovuto funzionare in entrambi i modi (da codice a URL e da URL a codice). Qualcuno può spiegare? Grazie
Soluzione
map.resource: session
crea alcune risorse nominate per te tra cui new_session_path
(vedi ActionController :: Resources ).
map.login
e map.logout
sono solo percorsi ausiliari per rendere più semplice la comprensione del codice. map.login
(che genera login_path
) punta allo stesso controller / azione combo di new_session_path
, è più facile ricordare a colpo d'occhio cosa lo fa.