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 查找控制器类的地方。控制器处理来自用户的 Web 请求。

  • 视图子目录保存显示模板,以使用来自我们应用程序的数据填充,转换为 HTML 并返回到用户的浏览器。

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

  • 帮助程序子目录保存任何用于辅助模型、视图和控制器类的帮助程序类。这有助于使模型、视图和控制器代码保持简洁、专注且井井有条。

启动 Web 服务器

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 Welcome Message

如果您没有收到如上的问候消息,则表示您的设置存在问题,您需要在继续之前修复它。

接下来是什么?

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

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

广告