Just do IT

思うは招く

Sinatraでルートに正規表現を指定して数値を取得する

get %r{/users/([0-9]*)} do 
  "user_id = #{params[:captures][0]}"
end
  • %rでルートに正規表現を書ける
  • ここでは「0〜9までの連続する値」を取得。()で囲めばキャプチャできる
  • キャプチャしたものはparams[:captures]配列に入っている
  • 数値以外を入力してもエラー
  • idを取得するときなどに使える
# このURLでアクセスすると
http://localhost:4567/users/3
=> 3 が表示される