我遇到了Spree路由问题。
请求发送至/spreeapi
,应将其发送至/api
有些请求的URL参数如下:
/spreeapi/option_types?q%5Bname_cont%5D=&_=1407867241807
我试图添加此路由:
mount Spree::Core::Engine, :at => '/shop'
get "/spreeapi(/*path)" => redirect{ |params| "/shop/api/#{params[:path]}".chomp("/") }
虽然这会将请求连接到正确的路径,但我正在丢失所有网址参数。
如何重写路线重定向以包含它们。
答案 0 :(得分:2)
这是我的最终解决方案(感谢@Balrick的帮助):
get "/spreeapi(/*path)" => redirect{ |params, request| "/shop/api/#{params.delete(:path)}?#{request.params.to_query}" }
答案 1 :(得分:0)
尝试使用以下行将查询字符串附加到重定向的网址
get "/spreeapi(/*path)" => redirect{ |params| "/shop/api/#{params.delete(:path)}?#{params.to_query}" }