我正在研究以下代码:
Helloworld::Application.routes.draw do
match 'products/:id/purchase' => 'catalog#purchase'
resources :products do
member do
get 'short'
post 'toggle'
end
collection do
get 'sold'
end
end
end
有人可以解释一下,URL如何在幕后映射到控制器?
我理解它的方式:
draw
逐出其代码块; match
,resources
等与draw
在同一范围内定义,因此这些函数会一个接一个地执行,尝试匹配Request。如果其中之一,它会调用正确的控制器操作。这是对的吗?
谢谢!