Ruby on Rails 2.1 - 示例
后续章节基于本章中的示例。在本章中,我们将创建一个简单但可操作的在线图书馆系统,用于保存和管理图书。
此应用程序具有基本架构,将使用两个 ActiveRecord 模型构建,以描述存储在数据库中的数据类型 −
图书 − 它们描述了图书的实际列表。
主题 −这用于将书籍分组在一起。
创建 Rails 应用程序的工作流程
创建 Rails 应用程序的推荐工作流程如下 −
使用 rails 命令创建应用程序的基本框架。
在 MySQL 服务器中创建一个具有必要定义的数据库来保存数据。
配置应用程序以了解数据库的位置并为其指定登录凭据。
创建 Rails 活动记录(模型),因为它们是您将在控制器中使用的业务对象。
生成迁移以简化数据库表和列的创建和维护。
编写控制器代码以赋予应用程序生命。
创建视图通过用户界面呈现您的数据。
那么,让我们从创建我们的库应用程序开始。
创建一个空的 Rails 应用程序
Rails 既是一个运行时 Web 应用程序框架,也是一组帮助脚本,可以自动执行您在开发 Web 应用程序时所做的许多事情。在此步骤中,我们将使用一个这样的帮助脚本来创建整个目录结构和初始文件集以启动我们的图书馆系统应用程序。
转到 ruby 安装目录以创建您的应用程序。
运行以下命令为我们的库应用程序创建骨架。
C: uby> rails -d mysql library
这将为库应用程序创建一个子目录,其中包含空 Rails 应用程序的完整文件夹和文件目录树。检查应用程序的完整目录结构。查看 Rails 目录结构 了解更多详细信息。
在这里,我们使用 -d mysql 选项来指定我们感兴趣的 MySQL 数据库。我们可以使用 -d 选项指定任何其他数据库名称,如 oracle 或 postgress。默认情况下,Rails 使用 SQLite 数据库。
我们的大部分开发工作将是创建和编辑 ~/library/app 子目录中的文件。以下是如何使用它们的简要概述 −
controllers 子目录是 Rails 查找控制器类的地方。控制器处理来自用户的 Web 请求。
views 子目录包含显示模板,用于填充来自我们应用程序的数据、转换为 HTML 并返回到用户的浏览器。
models 子目录包含建模和包装存储在我们应用程序数据库中的数据的类。在大多数框架中,应用程序的这一部分可能会变得非常混乱、乏味、冗长且容易出错。Rails 使它变得非常简单。
helpers 子目录包含用于协助模型、视图和控制器类的任何辅助类。这有助于保持模型、视图和控制器代码小巧、集中且整洁。
启动 Web 服务器
Rails Web 应用程序几乎可以在任何 Web 服务器下运行,但开发和测试 Rails Web 应用程序最方便的方法是使用内置的 WEBrick Web 服务器。让我们启动此 Web 服务器,然后浏览到我们的空库应用程序。
此服务器将从应用程序目录启动,如下所示。它在端口号 3000 − 上运行
C:\> cd ruby\library C: uby\library\> ruby script/server
它将启动您的 WEBrick 网络服务器,在本地机器的端口号 3000 上监听网络请求。
现在打开浏览器并浏览到 http://127.0.0.1:3000。如果一切顺利,您应该会看到来自 WEBrick 的问候消息。以下是成功设置的屏幕 −
如果您没有收到如上所示的问候消息,则表示您的设置存在问题,您需要先修复它,然后再继续。
下一步是什么?
下一章将介绍如何为您的应用程序创建数据库,以及访问这些创建的数据库所需的配置是什么。
此外,我们将了解什么是 Rail Migration 以及如何使用它来维护数据库表。