Ruby是一种灵活且简洁的编程语言,非常适合用于开发Web服务端应用。在本篇博客中,我们将介绍如何使用Ruby来开发一个简单的Web应用。
应用场景
我们将创建一个简单的待办事项应用,用户可以通过Web界面添加、编辑和删除待办事项。
技术栈
以下是我们将使用的技术栈:
- Ruby - 一种简单易学的编程语言,非常适合Web开发。
- Sinatra - 轻量级的Web框架,简化了Web应用的开发过程。
- SQLite - 轻量级数据库,用于存储待办事项。
步骤1:准备工作
首先,确保你已经安装了Ruby和Bundler。打开终端并运行以下命令来检查:
ruby -v
如果你看到了一个版本号,就说明你已经安装了Ruby。如果没有,请根据你的操作系统安装Ruby。
然后,安装Bundler:
gem install bundler
步骤2:创建项目
在一个干净的目录中创建一个新的文件夹,用来存放我们的项目。使用以下命令创建项目:
mkdir todo-app
cd todo-app
接下来,在项目文件夹中创建一个Gemfile
文件,并将以下内容添加到文件中:
source 'https://rubygems.org'
gem 'sinatra'
gem 'sqlite3'
然后,运行以下命令安装所需的依赖项:
bundle install
步骤3:创建应用
在项目文件夹中创建一个名为app.rb
的文件,并将以下内容添加到文件中:
require 'sinatra'
require 'sqlite3'
# 创建一个数据库连接
db = SQLite3::Database.new "todo.db"
# 初始化数据库表
db.execute <<-SQL
CREATE TABLE IF NOT EXISTS todos (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title VARCHAR NOT NULL,
completed BOOLEAN DEFAULT false
);
SQL
# 设置根路径
get '/' do
@todos = db.execute("SELECT * FROM todos")
erb :index
end
# 处理新建待办事项请求
post '/todos' do
title = params[:title]
db.execute("INSERT INTO todos (title) VALUES (?)", title)
redirect '/'
end
# 处理完成待办事项请求
put '/todos/:id' do
id = params[:id]
db.execute("UPDATE todos SET completed = NOT completed WHERE id = ?", id)
redirect '/'
end
# 处理删除待办事项请求
delete '/todos/:id' do
id = params[:id]
db.execute("DELETE FROM todos WHERE id = ?", id)
redirect '/'
end
步骤4:创建视图
在项目文件夹中创建一个名为views
的文件夹,并在其中创建一个名为index.erb
的文件,并将以下内容添加到文件中:
<!DOCTYPE html>
<html>
<head>
<title>Todo App</title>
</head>
<body>
<h1>Todo App</h1>
<form method="post" action="/todos">
<input type="text" name="title" placeholder="Add a new todo">
<button type="submit">Add</button>
</form>
<ul>
<% @todos.each do |todo| %>
<li>
<%= todo[1] %>
<form method="post" action="/todos/<%= todo[0] %>">
<input type="hidden" name="_method" value="PUT">
<button type="submit">
<% if todo[2] %>
Mark as incomplete
<% else %>
Mark as complete
<% end %>
</button>
</form>
<form method="post" action="/todos/<%= todo[0] %>">
<input type="hidden" name="_method" value="DELETE">
<button type="submit">Delete</button>
</form>
</li>
<% end %>
</ul>
</body>
</html>
步骤5:运行应用
运行以下命令来启动应用:
ruby app.rb
然后在浏览器中访问http://localhost:4567
,你应该能够看到待办事项应用的界面。
结论
在本篇博客中,我们使用Ruby和Sinatra创建了一个简单的Web应用程序。通过这个实战项目,你应该对如何使用Ruby开发Web服务端应用有了初步了解。你可以根据自己的需求进一步扩展和优化这个应用。Happy coding!
本文来自极简博客,作者:技术趋势洞察,转载请注明原文链接:使用Ruby开发Web服务端应用实战