Ruby on Rails - 示例
Ruby on Rails - 示例
Section titled “Ruby on Rails - 示例”在本章中,我们将逐步创建一个简单的在线图书馆系统。这个应用程序将管理书籍及其所属的主题,演示核心的 Rails 概念。
我们的应用程序将使用两个主要的数据模型(Data Model):
- Book:代表一本具体的书籍,包含标题(title)、价格(price)、描述(description)和主题(subject)等属性。
- Subject:代表书籍的分类,例如“物理”(‘Physics’)或“历史”(‘History’)。
创建 Rails 应用程序的工作流程
Section titled “创建 Rails 应用程序的工作流程”开发 Rails 应用程序的典型工作流程包括以下步骤:
- 初始化应用程序:使用
rails new命令生成应用程序的骨架(skeleton)。 - 数据库设置:创建数据库(例如 PostgreSQL、MySQL,或使用默认的 SQLite)并配置
config/database.yml文件。 - 模型创建:定义 Active Record 模型(
app/models/)来表示应用程序的数据及其关系。 - 数据库迁移:生成并运行数据库迁移(Migrations)(
db/migrate/)来创建或修改数据库模式(schema)(表格、列)。 - 路由配置:在
config/routes.rb中定义路由(routes),将 URL 映射到控制器动作(controller actions)。 - 控制器逻辑:编写控制器动作(
app/controllers/)来处理请求、与模型交互,并为视图(views)准备数据。 - 视图模板:使用 ERB(或其它模板引擎)创建视图模板(
app/views/)来显示数据和提供用户界面。 - 测试:编写测试(单元测试unit, 集成测试integration, 系统测试system)以确保应用程序按预期工作。
现在,让我们开始构建图书馆应用程序。
创建新的 Rails Web 应用程序
Section titled “创建新的 Rails Web 应用程序”Rails 提供了命令行生成器(command-line generators)来自动化许多常见的开发任务。我们将使用 rails new 命令为图书馆系统创建基本结构。
- 打开您的终端(terminal)或命令提示符(command prompt)。
- 导航到您想要创建应用程序的目录。
- 运行以下命令来创建一个名为
library_system的新 Rails 应用程序:
$ rails new library_system这个命令会创建一个名为 library_system 的目录,其中包含一个完整的 Rails 应用程序结构。有关此结构的详细信息,请参阅“Rails 目录结构”章节。
library_system/app/ 目录中用于开发的关键子目录包括:
controllers/:包含处理 Web 请求的控制器类(Controller classes)。models/:存放与数据库交互的 Active Record 模型类。views/:存储用于渲染 HTML 的视图模板(View templates)。helpers/:包含用于辅助视图和控制器的助手模块(Helper modules)。assets/:管理静态资源,如样式表(stylesheets)、JavaScript 文件和图像。jobs/:用于处理后台作业(background jobs),使用 Active Job。mailers/:用于处理邮件发送,使用 Action Mailer。
启动 Web 服务器
Section titled “启动 Web 服务器”Rails 应用程序可以在各种 Web 服务器上运行。在开发环境中,Rails 自带 Puma Web 服务器,它很容易启动。
要启动开发服务器:
- 进入您的应用程序目录:
cd library_system - 运行 Rails 服务器命令:
bin/rails server(或简写rails s)。
$ cd library_system$ bin/rails server您应该会看到类似以下的输出,表明 Puma 已经启动:
=> Booting Puma=> Rails 7.x.y application starting in development=> Run `bin/rails server --help` for more startup optionsPuma starting in single mode...* Puma version: 6.x.y (ruby 3.x.y-p0) ("The Eagle of Durango")* Min threads: 5* Max threads: 5* Environment: development* PID: 12345* Listening on http://127.0.0.1:3000* Listening on http://[::1]:3000Use Ctrl-C to stop这会启动 Puma 服务器,通常在端口 3000 上。
现在,打开 Web 浏览器并导航到 http://localhost:3000(或 http://127.0.0.1:3000)。如果一切设置正确,您应该会看到默认的 Rails 欢迎页面。此页面的外观在不同 Rails 版本之间略有差异,但它通常表明您的应用程序正在运行。
下一步是什么?
Section titled “下一步是什么?”下一步是为我们的应用程序设置数据库,并配置 Rails 连接到它。然后我们将定义模型(models),并使用数据库迁移(migrations)创建数据库模式(schema)。