我正在为Rails应用程序的路由设置而苦苦挣扎。我已经安装了restful_authentication,并且主要按照说明进行操作。我这样设置路线:
map.login '/login', :controller => 'sessions', :action => 'new'
map.logout '/logout', :controller => 'sessions', :action => 'destroy'
map.resource :session
如果您未登录,则会重定向到http://localhost:3000/session/new.这在某种程度上是有意义的,正如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
相同的控制器/动作组合,只是更容易一眼记住它的作用。