跳到主要内容

Ruby Sinatra 入门

Sinatra 是轻量级 Ruby Web 框架。它适合小型 Web 应用、内部工具和简单 API。相比 Rails,Sinatra 更少约定,代码更直接。

最小应用

创建 Gemfile

Gemfile
source "https://rubygems.org"

gem "sinatra"

创建 app.rb

app.rb
require "sinatra"

get "/" do
"Hello Sinatra"
end

运行:

bundle install
bundle exec ruby app.rb

访问:

http://localhost:4567

路由参数

get "/hello/:name" do
"Hello, #{params[:name]}"
end

访问 /hello/Aliceparams[:name] 就是 "Alice"

查询参数

get "/search" do
keyword = params[:q]
"search: #{keyword}"
end

访问:

http://localhost:4567/search?q=ruby

返回 JSON

require "json"

get "/api/time" do
content_type :json
{ time: Time.now.to_i }.to_json
end

小结

Sinatra 很适合理解 Web 基础:路由、参数、响应、JSON。它比 Rails 更轻,但大型业务应用需要你自己组织更多结构。