config/routes.rb 中,我尝试了两个:

root :to => 'things#index', :as => 'things'


root :to => 'things#index'

当我点击 http://localhost:3000/ 时,两种方法都有效,似乎没有什么不同。
:as 选项是做什么用的?

最佳答案

:as 选项形成一个命名路由。

通常它用于非根路由。例如:

match '/search' => 'search#search', :as => 'search' # SearchController#search

然后,您可以执行以下操作:
<%= link_to search_path, 'Click Here to Search!' %>

由于 search_path 定义了 search_url:as
对于根路由,您实际上并不需要 :as,因为 URL 助手 root_pathroot_url 是由 Rails 为您定义的。

关于ruby-on-rails - :as in rails routes. rb,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4696229/

10-14 19:42