質問

シナトラのと遊ぶ、私は少し問題にこだわっている:私はスラッシュとのparamsを使用する場合、それはルータエンジンを混乱させる。だから、それをエンコードすることなく、PARAMのこの種を処理するための良い方法はありますか?

のコードは、

のようになります。
get 'add/:url' do
   #....
end

私は http://sctackoverflow.com/ の作業

/追加/のようなものを取得する予定
役に立ちましたか?

解決

あなたはスプラット・パラメータを使用しようとしましたか?

のような何かます:

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

  url = protocol + "//" + address
end

他のヒント

私は、スプラットパラメータについて聞いていない、それはこの場合のために完璧に動作しますが、よろしくお願いします。確かに、私はドキュメントに見てきたと私はキャプチャパラメータと正規表現を使用していても短い見つけます:

get %r{/add/(.+)} do
  url = params[:captures]
end

または使用ます:

url = request.fullpath[5..-1]
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top