Ruby on rails Rails:关于:as=>;的简单路由问题:某物
使用Rails 3.1(不确定这是否适用于3.0等) 在routes.rb中以下两者之间的区别是什么:Ruby on rails Rails:关于:as=>;的简单路由问题:某物,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,使用Rails 3.1(不确定这是否适用于3.0等) 在routes.rb中以下两者之间的区别是什么: match "team" => "users#index" 及 我这样问是因为我说: 3.6命名路由 可以使用:as选项为任何管线指定名称 match 'exit' => 'sessions#destroy', :as => :logout 这将在应用程序中创建注销路径和注销url作为命名帮助程序。调用注销路径将返回/退出 但是,在上面的第一个示例中,我可以在我
match "team" => "users#index"
及
我这样问是因为我说:
3.6命名路由 可以使用:as选项为任何管线指定名称
match 'exit' => 'sessions#destroy', :as => :logout
这将在应用程序中创建注销路径和注销url作为命名帮助程序。调用注销路径将返回/退出
但是,在上面的第一个示例中,我可以在我的视图中访问团队路径和团队url?!?那么:as=>:团队到底做了什么?我一定忽略了一些东西,正如我看到的示例代码所写的那样:
match "logout" => "sessions#destroy", :as => :logout
match "login" => "sessions#new", :as => :login
match "signup" => "users#new", :as => :signup
虽然从我有限的测试来看,
:as=>:有些东西似乎是多余的 这似乎是多余的,但不是。。。当您的路线名称与您想要给出的名称不同时
默认情况下,ActionDispatcher会做很多事情。您应该尝试在控制台中触发rake routes
,以测试此行为
另一个例子是快捷方式:
match "account/profile"
# same as
match "account/profile", :to => "account#profile"
这将创建命名路由:account\u profile
match "account/profile"
# same as
match "account/profile", :to => "account#profile"