我在一个项目中使用 Rails 3.2,我需要为所有控制器创建一个路由。
目前,路线是:
resources :people do
collection do
get 'search_for'
end
end
我需要对应用程序中的所有控制器执行“search_for”操作。
谢谢。
我在一个项目中使用 Rails 3.2,我需要为所有控制器创建一个路由。
目前,路线是:
resources :people do
collection do
get 'search_for'
end
end
我需要对应用程序中的所有控制器执行“search_for”操作。
谢谢。
你可以使用这条路线
match "/:controller/search_for" => redirect("/%{controller}/search_for")
更新:上面的路由将不起作用,并且会导致重定向循环错误,因为它会导致 301 重定向到同一路由。解决方案是只使用
match "/:controller/search_for"
请务必将此路由置于所有路由之上,以便执行 show 操作的路由不会像这样覆盖此路由。
简单地把它放在所有路线之上:
get ':controller/search_for'