私は何時間も試してきましたが、私のやり方で自分のルートを設定する方法はまだありません。私が達成したい何sinatraの経路定義のパラメータを使用します
は次のとおりです。
私はspecifixの接頭辞で始まるすべてのものをキャプチャしたいです。
かなり簡単:
get "/prefix:id" do
puts params[:id]
end
しかし、私はそれが固定された接頭辞になりたくありません。私は
設定ファイルにプレフィックスを入れたいsettings.rb: セット:接頭辞、「前」
get "/#{settings.prefix}:id" do
puts params[:id]
end
これはシナトラのために(未定義のメソッド `接頭辞」を動作しません::アプリケーション:クラス(NoMethodError))。私も正規表現でキャプチャしてみました:
before do
@prefix = settings.prefix
end
get %r{#{@prefix}(\d+)} do |id|
puts "Params: #{id}"
end
これは
誰もが何かを得たのいずれか(URLがキャプチャされません)は動作しませんか?
Sinatraルートでは、レール(上から下)と同じ方法で処理される場合は、最後に「/ *」のようなルートを定義できます。 – Bohdan
他のURLとは異なる接頭辞を持つURLを処理したいので、これも私が探している解決策ではありません – leifg