有人可以用示例网址解释以下内容吗?谢谢捆绑! (宝石束!)
resources :products do
resource :category
member do
post :short
end
collection do
get :long
end
end
Resources会映射ProductController中的所有路由吗?如何嵌入类别?
match 'products/:id', :to => 'catalog#view'
这是map / products / 234到categolController,查看动作吗?
答案 0 :(得分:5)
尝试从Rails项目目录运行rake routes
。这将会列出完整的路线列表以及它们映射的位置。
答案 1 :(得分:1)
正如克里斯提到的那样,rake路线会告诉你,但是快速解释一下:
任何基于产品的路线都会转到产品控制器:
GET /products # products controller index action
GET /products/:id # products controller show action
POST /products # products controller create action
PUT /products/:id # products controller update action
... etc etc
您还将获得一些额外的路线,但是这些路线会转到类别控制器,此类别将是某个产品的属性......所以:
GET /products/:product_id/category # categories controller index action
POST /products/:product_id/category # categories controller create action
... etc etc
如果您执行以下操作:
match 'products/:id', :to => 'catalog#view'
您将覆盖路线的默认show
操作。这是你想要的吗?可能不是。再次,运行rake routes
以了解正在发生的事情。