📜  irb sinatra (1)

📅  最后修改于: 2023-12-03 15:15:53.065000             🧑  作者: Mango

IRB Sinatra

简介

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将是非常不错的选择。