如何使用带有Sinatra斜线的参数?

Gae*_*bar 8 ruby parameters routing routes sinatra

sinatra一起玩,我遇到了一个小问题:当我使用带有斜线的参数时,它会混淆路由器引擎.那么有一种很好的方法来处理这种param而不必编码吗?

代码看起来像

get 'add/:url' do
   #....
end
Run Code Online (Sandbox Code Playgroud)

我打算让像/添加/ http://sctackoverflow.com/工作

小智 11

您是否尝试使用splat参数?

就像是:

get '/add/*' do
  protocol = params[:splat].first
  address = params[:splat][1..-1].join('/')

  url = protocol + "//" + address
end
Run Code Online (Sandbox Code Playgroud)