我正在努力使用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 相同的控制器/动作组合,它更容易记住一目了然确实如此。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top