当我运行时
rake routes
我看到以下内容:
POST /articles/:article_id/comments(.:format) {:action=>"create", :controller=>"articles/comments"}
这很有道理。这意味着,如果我向/articles/1234/comments形式的url发出post请求,它将在articles/comments_controller.rb中运行控制器的创建操作,id paramater设置为1234。
但后来我也看到了这条线:
/article/:id/:action {:root=>"article", :controller=>"article/article", :title=>"Article"}
我不知道":根"是什么意思。有人能解释一下吗?
编辑:
我使用的是Rails 2.3.18。
这是routes.rb文件中的相关行
#routes.rb
map.connect '/article/:id/:action', :controller => 'article/article', :root => 'article', :title => 'Article'
与:title
一样,它只是合并到params哈希中的另一个键和值。
发件人http://rubydoc.info/docs/rails/2.3.8/ActionController/Routing(默认路线和默认参数)
更正式地说,您可以在路由中包含任意参数,因此:
map.connect':controller/:action/:id',:action=>'显示',:page=>"仪表板"
这将把:page参数传递给所有传入与此路由匹配的请求。
它在Rails中没有任何额外的含义。我的猜测是,你的应用程序正在将其用于面包屑或类似的东西。