在Rails中组织路线— restful_authentication,session和/ login
-
03-07-2019 - |
题
我正在努力使用Rails应用程序的路由设置。我已经安装了restful_authentication并且大部分都遵循了说明。我用这种方式建立了路线:
map.login '/login', :controller => 'sessions', :action => 'new'
map.logout '/logout', :controller => 'sessions', :action => 'destroy'
map.resource :session
如果您尚未登录,则会被重定向到 http:// localhost:3000 / session /新。
它有一定意义,因为lib / authenticated_system.rb中的代码表示 redirect_to new_session_path
。
但我认为路由映射应该是双向的(代码到URL和URL到代码)。谁能解释一下?感谢
解决方案
map.resource:session
为您创建一些命名资源,包括 new_session_path
(参见 ActionController :: Resources )。
map.login
和 map.logout
只是帮助路由,使您的代码更易于理解。 map.login
(生成 login_path
)指向与 new_session_path
相同的控制器/动作组合,它更容易记住一目了然确实如此。
不隶属于 StackOverflow