Rails的路线:如何通过“全部”路线在重定向中请求参数 [英] Rails' routes: how to pass "all" request params in a redirect

查看:63
本文介绍了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&param2=value2

成为

http://myserver.com/pages/home?param1=value1&param2=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的路线:如何通过“全部”路线在重定向中请求参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆