Ruby 教程 目录

Ruby 使用Sinatra

Sinatra 是一个用于创建 Web 应用的轻量级 Ruby 框架。它简单易用,非常适合快速开发小型到中型的应用程序。本章将详细介绍如何使用 Sinatra 创建 Web 应用。

安装 Sinatra

首先,你需要安装 Sinatra。这可以通过 Ruby 的包管理器 Bundler 来完成。确保你的系统上已经安装了 Ruby 和 Bundler。

  1. 创建一个新的项目目录,并进入该目录:

  2. 初始化一个新的 Gemfile:

  3. 编辑 Gemfile 文件,添加 Sinatra 作为依赖项:

  4. 在终端中运行以下命令来安装依赖项:

  5. 创建一个简单的 Sinatra 应用程序。在项目根目录下创建一个名为 app.rb 的文件,并添加以下代码:

  6. 启动应用:

  7. 访问 http://localhost:4567/ 查看你的第一个 Sinatra 应用程序。

路由和请求处理

Sinatra 通过路由来处理 HTTP 请求。每个路由对应一个特定的 URL 和 HTTP 方法。你可以定义多种类型的路由,如 GET、POST、PUT 等。

GET 路由

GET 路由用于处理来自客户端的读取请求。例如:

POST 路由

POST 路由用于处理表单提交或 API 请求。例如:

在这个例子中,params[:name] 将捕获表单中的 name 字段。

PUT 和 DELETE 路由

PUT 和 DELETE 路由分别用于更新和删除资源。例如:

动态路由

动态路由允许你在 URL 中使用变量。例如:

访问 /hello/World 将返回 "Hello, World!"。

视图和模板

Sinatra 支持多种视图引擎,如 ERB、Haml、Slim 等。默认情况下,Sinatra 使用 ERB 作为视图引擎。

ERB 视图

  1. 在项目根目录下创建一个名为 views 的目录。

  2. views 目录中创建一个名为 index.erb 的文件,内容如下:

  3. 修改 app.rb 文件,使其渲染这个视图:

Haml 视图

  1. 首先需要在 Gemfile 中添加 Haml 依赖:

  2. bundle install 安装依赖后,在 views 目录中创建一个名为 index.haml 的文件,内容如下:

  3. 修改 app.rb 文件,使其渲染 Haml 视图:

错误处理

Sinatra 允许你自定义错误页面。你可以为不同的 HTTP 状态码定义错误处理程序。

自定义错误页面

  1. views 目录中创建一个名为 error.erb 的文件,内容如下:

  2. app.rb 文件中定义错误处理程序:

    -- -------------------- ---- -------
    --------- --
      ------ ---
      --- ------
    ---
    
    ----- --
      ------ ---
      --- ------
    ---

这样,当发生 404 或 500 错误时,Sinatra 将渲染 error.erb 视图。

中间件

中间件允许你在请求处理过程中插入额外的功能。例如,日志记录、身份验证等。

日志记录中间件

  1. 创建一个名为 logger.rb 的文件,内容如下:

  2. app.rb 文件中引用这个中间件:

这样,每次访问首页时,服务器都会输出一条日志信息。

部署

部署 Sinatra 应用通常需要将其托管在一个 Web 服务器上,如 Apache 或 Nginx。此外,也可以使用像 Heroku 这样的平台即服务 (PaaS) 提供商。

使用 Heroku 部署

  1. 安装并配置 Heroku CLI 工具。

  2. 登录到 Heroku:

  3. 创建一个新的 Heroku 应用:

  4. 推送代码到 Heroku:

  5. 打开应用:

以上是使用 Sinatra 创建 Web 应用的基本步骤和概念。通过这些基础,你可以进一步探索更复杂的功能和特性。

上一篇: Ruby Web框架
下一篇: Ruby 使用Rails
纠错
反馈