路由包含多个连续斜杠的参数

时间:2013-04-22 02:03:50

标签: ruby-on-rails url routing escaping glob

注意:来自Rails routing with a parameter that includes slash(/)

的建议

似乎对我不起作用......

我的路线如下:

get '/r/*code_or_url' => 'pixels#visit', :as => :visit, :format => false, :constraints => {:url => /.*/}, :escape => false

但如果我去

http://localhost:3000/r/http://www.google.com

我明白了:

没有路线匹配[GET]“/www.google.com”

我的网址栏位于

http://localhost:3000/www.google.com

my pixels_controller.rb看起来像

def visit
  @code_or_url = params[:code_or_url]
  redirect_to @code_or_url
end

并且日志中的参数是

Parameters: {"escape"=>false, "code_or_url"=>"http:/www.google.com"}

截至目前,我发现做我喜欢的唯一方法如下:

request.original_fullpath[3..-1]

其他一切屠宰原始请求

0 个答案:

没有答案