我有一组如下所示的路线:
resources :placements do
match '/foo' => "placements#foo"
match '/bar' => "placements#bar"
end
这会产生行为与您期望的一样的路由:
/placements/1234/foo
/placements/1234/bar
但是,我还需要一些不需要单独放置的方法的“通用”路由。因此,我构建了一个如下所示的路线块:
resources :placements do
match '/foo' => "placements#foo"
match '/bar' => "placements#bar"
end
match '/placements/baz' => "placements#baz"
如果 I rake routes
,我会得到一条看起来不错的路线:
/placements/baz
请注意缺少 id。但是,如果我尝试访问该路由,Rails 会尝试调用show
控制器上的方法,就好像“baz”是一个 ID,而不是一个方法名称。如何构建一个路由结构,让我得到我所追求的,而不必将我的路由的第一段 ( placements
) 更改为其他内容?