📅  最后修改于: 2023-12-03 15:15:53.065000             🧑  作者: Mango
IRB Sinatra是一种微型Web框架,用于创建Ruby语言的Web应用程序。它使用Ruby的内置交互式解释器(IRB)进行开发和测试,使其在开发过程中非常灵活。
你可以通过运行以下命令来安装IRB Sinatra:
gem install sinatra
以下代码示例演示了如何使用IRB Sinatra创建一个简单的Web应用程序:
require 'sinatra'
get '/' do
'Hello world!'
end
运行该程序后,在Web浏览器中访问http://localhost:4567,即可看到网页上显示“Hello world!”。
在IRB Sinatra中,路由用于指定Web应用程序要如何响应HTTP请求。以下是一个路由示例:
get '/hello/:name' do
"Hello, #{params[:name]}!"
end
当用户访问http://localhost:4567/hello/john时,程序将返回“Hello, john!”这个消息。
视图用于构建Web应用程序的HTML代码。在IRB Sinatra中,你可以使用ERB模板引擎来创建视图。
以下是一个简单的视图示例:
<!DOCTYPE html>
<html>
<head>
<title>Hello</title>
</head>
<body>
<h1>Hello, <%= @name %>!</h1>
</body>
</html>
在路由中,你可以渲染ERB模板并传递变量来向视图中填充数据:
get '/hello/:name' do
@name = params[:name]
erb :hello
end
IRB Sinatra非常擅长与数据库进行集成。它支持诸如SQLite、MySQL和PostgreSQL等众多数据库。
以下是使用SQLite数据库的示例代码:
require 'sinatra'
require 'sqlite3'
# 连接到SQLite数据库
configure do
db = SQLite3::Database.new 'example.db'
db.execute "CREATE TABLE IF NOT EXISTS Users(Id INTEGER PRIMARY KEY, Name TEXT)"
end
# 添加新用户
post '/users' do
db.execute("INSERT INTO Users (Name) VALUES (?)", [params[:name]])
redirect '/users'
end
# 显示用户列表
get '/users' do
@users = db.execute("SELECT * FROM Users")
erb :users
end
以上代码创建了一个SQLite数据库并定义了两个路由:一个用于添加新用户,一个用于显示用户列表。
IRB Sinatra是一个优秀的微型Web框架,非常适合于快速开发Ruby语言的Web应用程序。它具有灵活、易于理解的路由系统和支持各种不同类型的数据库的集成。如果你正在寻找一个轻量级的Web框架来构建Ruby应用程序,那么IRB Sinatra将是非常不错的选择。