Ruby on Rails 2.1 - 示例


后续章节均基于本章中的示例。在本章中,我们将创建一个简单但可操作的在线图书馆系统来保存和管理书籍。

该应用程序具有基本架构,并将使用两个ActiveRecord模型来构建,以描述存储在数据库中的数据类型 -

  • 书籍- 它们描述了书籍的实际列表。

  • 主题- 用于将书籍分组在一起。

创建 Rails 应用程序的工作流程

创建 Rails 应用程序的推荐工作流程如下:

  • 使用rails命令创建应用程序的基本框架。

  • 在 MySQL 服务器中创建一个具有必要定义的数据库来保存您的数据。

  • 配置应用程序以了解数据库所在位置并指定其登录凭据。

  • 创建 Rails Active Records(模型),因为它们是您将在控制器中使用的业务对象。

  • 生成迁移,简化数据库表和列的创建和维护。

  • 编写控制器代码以使您的应用程序充满活力。

  • 创建视图以通过用户界面呈现您的数据。

那么,让我们从创建图书馆应用程序开始。

创建空 Rails 应用程序

Rails 既是一个运行时 Web 应用程序框架,又是一组帮助程序脚本,可自动执行开发 Web 应用程序时执行的许多操作。在此步骤中,我们将使用一个此类帮助程序脚本来创建整个目录结构和初始文件集以启动我们的图书馆系统应用程序。

  • 转到 ruby​​ 安装目录来创建您的应用程序。

  • 运行以下命令为我们的库应用程序创建框架。

C:\ruby> rails -d mysql library

这将为库应用程序创建一个子目录,其中包含空 Rails 应用程序的文件夹和文件的完整目录树。检查应用程序的完整目录结构。检查Rails 目录结构以获取更多详细信息。

在这里,我们使用-d mysql选项来指定我们对使用 MySQL 数据库的兴趣。我们可以使用-d选项指定任何其他数据库名称,例如oraclepostgress。默认情况下,Rails 使用SQLite数据库。

我们的大部分开发工作将在~/library/app子目录中创建和编辑文件。以下是如何使用它们的快速概述 -

  • Rails 会在controllers子目录中查找控制器类。控制器处理来自用户的网络请求。

  • view子目录包含显示模板,用于填充应用程序中的数据、转换为 HTML,然后返回到用户的浏览器

  • models子目录包含对存储在应用程序数据库中数据进行建模和包装的类。在大多数框架中,应用程序的这一部分可能会变得非常混乱、乏味、冗长且容易出错。Rails 让它变得非常简单。

  • helpers子目录包含用于辅助模型、视图和控制器类的任何帮助器类这有助于保持模型、视图和控制器代码小、集中且整洁。

启动网络服务器

Rails Web 应用程序几乎可以在任何 Web 服务器下运行,但开发和测试 Rails Web 应用程序最方便的方法是使用内置的 WEBrick Web 服务器。让我们启动这个 Web 服务器,然后浏览到我们的空库应用程序。

该服务器将从应用程序目录启动,如下所示。它在端口号 3000 上运行 -

C:\> cd ruby\library 
C:\ruby\library\> ruby script/server

它将启动您的 WEBrick Web 服务器,在本地计算机的端口号 3000 处侦听 Web 请求。

现在打开浏览器并浏览到http://127.0.0.1:3000。如果一切顺利,那么您应该会看到来自 WEBrick 的问候消息。以下是成功设置的屏幕 -

Rails 欢迎辞

如果您没有收到上述问候消息,则意味着您的设置有问题,您需要先修复它,然后才能继续。

下一步是什么?

下一章解释如何为您的应用程序创建数据库以及访问这些创建的数据库所需的配置。

此外,我们将了解什么是 Rail Migration 以及如何使用它来维护数据库表。