fgu*_*len 30 redirect routes ruby-on-rails-3
我想将所有根请求重定向到/pages/homeURL,但我想保留原始请求中使用的所有参数.
所以:
http://myserver.com/?param1=value1¶m2=value2
Run Code Online (Sandbox Code Playgroud)
变
http://myserver.com/pages/home?param1=value1¶m2=value2
Run Code Online (Sandbox Code Playgroud)
关于传递params有几个SO问题,redirect但我没有发现任何与传递请求的参数相关的问题.
小智 35
另一个答案有效,但?如果没有参数,最后会留下一个答案.
这似乎没有副作用的伎俩:
root to: redirect(path: '/quick_searches/new')
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你!
fgu*_*len 33
# routes.rb
root :to => redirect { |params, request| "/pages/home?#{request.params.to_query}" }
Run Code Online (Sandbox Code Playgroud)
你也可以用它request.params来构建新的path:
root :to => redirect { |params, request| "/pages/#{request.params[:page]}.html?#{request.params.to_query}" }
Run Code Online (Sandbox Code Playgroud)
Fra*_* Li 11
在Rails 5中,现在可以通过仅重写重定向中的路径组件来简洁地完成此操作(因此将保留所有原始查询参数):
# in routes.rb
root to: redirect(path: '/pages/home')
Run Code Online (Sandbox Code Playgroud)
相关文档链接:
http://api.rubyonrails.org/classes/ActionDispatch/Routing/Redirection.html
| 归档时间: |
|
| 查看次数: |
10838 次 |
| 最近记录: |