ドキュメントで宣言されている方法で Sinatra でフィルターを使用してきました: 一致文字列なし、一致文字列あり、または一致正規表現あり。それは今までうまくいっています。今、私は特定のユースケースを持っています。このルートがあるとしましょう:
/resources/1
REST によると、リクエスト メソッドに応じて、これは GET メソッド、PUT メソッド、または DELETE メソッドのいずれかになります。最初の質問: GET 要求の場合にのみ呼び出されるフィルターを作成する方法は? (現在、私はそれらすべてをフィルタリングしてから、メソッドをテストしています。動作しますが、好きではありません)。2 番目の質問で、さらに重要です。たとえば、次のような PUT リクエストがトリガーされたとします。
/resources/
PUT リクエストにはリソース ID が関連付けられていないため、これはもちろん間違っています。Sinatra に次のようなことを可能にする何かがあるかどうか知りたいです。
before "/resources/", :method => :put do
error_message
end
この可能性は存在しません (引数を 1 つだけ受け入れる前)。せいぜいこの結果を達成するにはどうすればよいですか?