本文介绍了Rails的路线:如何通过“全部”路线在重定向中请求参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想将所有根请求重定向到 / pages / home
网址,但我想保留
I want to redirect all root requests to a /pages/home
url, but I want to keep all the params used in the original request.
So:
http://myserver.com/?param1=value1¶m2=value2
成为
http://myserver.com/pages/home?param1=value1¶m2=value2
关于在重定向
中传递参数有几个SO问题,但我没有找到任何相关的问题到传递请求的参数。
There are several SO questions about passing params in a redirect
but I haven't found any related to passing request's params.
推荐答案
# routes.rb
root :to => redirect { |params, request| "/pages/home?#{request.params.to_query}" }
更新1
您还可以使用 request.params
来构建新的路径
:
root :to => redirect { |params, request| "/pages/#{request.params[:page]}.html?#{request.params.to_query}" }
这篇关于Rails的路线:如何通过“全部”路线在重定向中请求参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!