😸
SinatraにおけるURLとルーティング、パラメータなどの関係
URLに引数を含まない場合
app.rb
get '/' do
"Hello World!!"
end
URL:http://localhost:4567
表示:Hello World!!と表示
URLの引数が定数(hello)の場合
app.rb
get '/hello' do
"Hello Sinatra!!"
end
URL:http://localhost:4567/hello
表示: Hello Sinatra!!
URLの引数が変数シンボル(:name)の場合
app.rb
get '/hello/:name' do #受け取りたい値をシンボルで受け取る
"Hello #{params[:name]}!!" #params変数を使って展開する
end
URL:http://localhost:4567/hello/Fumi
表示: Hello Fumi!!
URLの引数がブロック変数(name)の場合
app.rb
get '/hello/:name' do |name|
"Hello #{name}!!"
end
URL:http://localhost:4567/hello/Fumi
表示: Hello Fumi!!
パラメータが2つ以上(first_name, last_name)の場合
app.rb
get '/hello/:first_name/:last_name' do |first_name, last_name|
"Hello #{first_name} #{last_name}!!"
end
URL:http://localhost:4567/hello/Fumi/Shirasawa
表示: Hello Fumi Shirasawa!!
パラメータをワイルドカード(*:任意の値)で渡す場合
app.rb
get '/hello/*/*' do |a, b|
"Hello #{a} #{b}!!"
end
URL:http://localhost:4567/hello/aaa/bbb
表示: Hello aaa bbb!!
Discussion