当我跑步时
rake routes
我看到以下内容:
POST /articles/:article_id/comments(.:format) {:action=>"create", :controller=>"articles/comments"}
这很有道理。这意味着如果我对表单/ articles / 1234 / comments的url发出post请求,它会在articles / comments_controller.rb中运行控制器的create action,id参数设置为1234.
但后来我也看到了这句话:
/article/:id/:action {:root=>"article", :controller=>"article/article", :title=>"Article"}
而且我不确定“:root”是什么意思。有人可以解释一下吗?
编辑:
我正在使用Rails 2.3.18。
这是routes.rb文件中的相关行
#routes.rb
map.connect '/article/:id/:action', :controller => 'article/article', :root => 'article', :title => 'Article'
答案 0 :(得分:1)
与:title
类似,它只是另一个键值,它被合并到params散列中。
来自http://rubydoc.info/docs/rails/2.3.8/ActionController/Routing(默认路线和默认参数)
更正式地说,您可以在路线中包含任意参数, 因此:
map.connect':controller /:action /:id',:action => 'show',:page => '仪表板'
这会将:page参数传递给所有传入 与此路线匹配的请求。
它在Rails中没有任何其他含义。我的猜测是你的应用程序将它用于面包屑或类似的东西。