Sinatra 路线参数

当然,你可以将数据传递到 Sinatra 路线,接受路线中的数据,你可以添加路线参数。然后,你可以访问 params 哈希:

get '/hello/:name' do
  # matches "GET /hello/foo" and "GET /hello/bar"
  # params['name'] is 'foo' or 'bar'
  "Hello #{params['name']}!"
end

你也可以直接将参数分配给变量,就像我们在 Ruby 哈希中通常所做的那样:

get '/hello/:name' do |n|
  # matches "GET /hello/foo" and "GET /hello/bar"
  # params['name'] is 'foo' or 'bar'
  # n stores params['name']
  "Hello #{n}!"
end

你还可以使用 asteriks 添加没有任何特定名称的通配符参数。然后可以使用 params [‘splat’]访问它们:

get '/say/*/to/*' do
  # matches /say/hello/to/world
  params['splat'] # => ["hello", "world"]
end