本文介绍了Rails 的路线:如何通过“所有"路线重定向中的请求参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想将所有 root 请求重定向到一个 /pages/home
url,但我想保留在原始请求.
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.
所以:
http://myserver.com/?param1=value1¶m2=value2
变成
http://myserver.com/pages/home?param1=value1¶m2=value2
有几个关于在 redirect
中传递参数的 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
来构建新的 path
:
root :to => redirect { |params, request| "/pages/#{request.params[:page]}.html?#{request.params.to_query}" }
这篇关于Rails 的路线:如何通过“所有"路线重定向中的请求参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!