1

正規表現のマッチングに基づいていくつかのルートを設定できるように、sinatraチュートリアルのこのコードスニペットを機能させようとしています。それは機能していないようで、チュートリアルから直接コピーして貼り付けています。欠けているものについてのアイデアはありません。私のsinatraアプリが機能していて、他の正しく構造化されたGETルートが機能していると仮定して、このような過去の直接コピーが機能しない理由がわかりません。

get %r{/hello/([\w]+)} do
    "Hello, #{params[:captures].first}!"
end

ルートを修正する必要http://0.0.0.0:4567/helloがありますが、「シナトラはこのくだらない」エラーメッセージを認識していません。

Thks。

4

1 に答える 1

2

%r{/hello/([\w]+)}まったく一致しません/hello。正規表現にはスラッシュと別の文字列が必要ですが、パスにはそれが含まれていません。

そのルートは一致しますが、一致/hello/thereしませ/hello/hello/

そして、あなたがキャプチャを見ていることを考えると/hello、そのキャプチャはそうなるので、おそらくこれがまったく機能することを望まないでしょう、nilそして誰が挨拶したいnilですか?

于 2012-09-11T18:38:10.347 に答える