0

我在一个项目中使用 Rails 3.2,我需要为所有控制器创建一个路由。

目前,路线是:

resources :people do
  collection do
    get 'search_for'
  end
end

我需要对应用程序中的所有控制器执行“search_for”操作。

谢谢。

4

2 回答 2

1

你可以使用这条路线

match "/:controller/search_for" => redirect("/%{controller}/search_for")

更新:上面的路由将不起作用,并且会导致重定向循环错误,因为它会导致 301 重定向到同一路由。解决方案是只使用

match "/:controller/search_for"

请务必将此路由置于所有路由之上,以便执行 show 操作的路由不会像这样覆盖此路由。

于 2013-02-20T11:23:09.820 回答
1

简单地把它放在所有路线之上:

get ':controller/search_for'
于 2013-02-20T12:16:20.947 回答