Sinatra路径包含变量
Sinatra路径还可以包含变量,它们被称为参数。Sinatra应用通常使用参数作为每个路径所包含的流程的输入。
让我们修正一下我们简单的Sinatra“Hello,World!(你好,世界!)”应用,以便用名字称呼我们的用户。以下就是一个可以对其进行修正的路径:
get '/hello/:name' do
set :bind,'0.0.0.0'
'Hello, #{params[:name]}!'
end
你可以通过链接http://first20hours.com/hello/name看到实际效果。随意将“name(姓名)”替换成你的“name(姓名)”。真有效果!
这个应用允许服务器获取路径上在“name(姓名)”部分的内容,然后将其使用到应用当中。路径上的这个命令就是将“name(姓名)”参数展示给用户的一条简单指令。
Sinatra允许你命名参数(比如姓名),同时它也有一个可以包含任何东西的“wildcard(通配符)”参数(也称为“splat”)。在我们修正后的“Hello(你好)”应用当中,它的用法如下:
get '/hello/*' do
set :bind,'0.0.0.0'
'Hello, #{params[:splat]}!'
end
这很酷。在命名参数和通配符之间,你可以创建一些非常智能化的路径。路径的创建方式决定了你的Sinatra应用的工作方式。