0

我正在为 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 到代码)。有人可以解释吗?谢谢

4

1 回答 1

3

map.resource :session为您创建一些命名资源,包括new_session_path(参见ActionController::Resources)。

map.login并且map.logout只是帮助您的代码更易于理解的路径。map.login(生成login_path)指向相同的控制器/动作组合new_session_path,只是更容易一目了然地记住它的作用。

于 2008-10-16T19:47:53.870 回答