我理解为config / routes.rb添加规则,例如:
match '/about' => 'pages#about'
将为我创建两个命名路由以在视图中使用:about_path和about_url。但是当我在像这样的规则中添加一个段密钥时:
match '/products/:id' => 'products#show'
我似乎没有自动创建命名路由,因为当我在视图中尝试使用products_path(id)时,我得到:
NoMethodError: undefined method `products_path' for #<ActionDispatch::Integration::Session:0x7fcdcc046f68>
我知道我可以添加:as =&gt; '产品'到将创建命名路径的规则,但为什么需要它? Rails routing guide的第1.1节和第1.2节说明了命名的路线。