20小时学会编程 互动版

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

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应用的工作方式。