示例:简单产品目录
2005 年,我开始投资于高级 (HG) 漫画书,特别是 1946 年以来的旧书。我创建了一个简单的 Ruby on Rails 数据库应用程序,这样我可以随着新漫画书的买入和卖出对其进行插入、移动、修改和删除。由于仅供我个人使用,所以我将它做得特别简单。本文即将开发的应用程序是我在家使用的 Ruby on Rails 应用程序的删节版。
虽然 Rails 和 Oracle 数据库可以应用于多种平台,但本文中将侧重于 Oracle 应用程序开发人员最常使用的操作系统之一 Windows XP。本示例非常简单;基本上是等同于“Hello World”编程语言示例的数据库。这只是为了让您简单了解一下 Ruby,而并不展示 Rails 的全部功能,至多只是个用于演示任意编程语言完整功能的“Hello World”示例。
如果您在本示例中遇到问题,可能是以下三种原因之一引起的:不是您下载了错误的代码,就是您的数据库没有设置为允许连接,再或者就是您的 Windows XP 操作系统的问题。在开发本示例的过程中,我遇到了一些版本控制和数据库配置的相关问题 — 都是由于无知造成的。多亏了我的一个朋友 Michael Carland,我才能完成此示例并让本示例尽可能简单。
事实是,让 Ruby on Rails 和 Oracle 协同工作并不简单。实际上,有时还可能有点令人沮丧。严格按照本文说明执行,您应该不会遇到问题。但是,如果超出了本示例范围,可能会出现一些问题。Rails 可以非常高效,但它是一个命令行开发环境,而且不附带通常与高级集成开发环境相关联的“自动魔术”。如果您不是一个“自己动手做”的技术人员,那我这次将不会向您推荐 Rails。
第 1 步:设置 Oracle 数据库
如果您不是对结合 Oracle 使用 Rails 感兴趣,您不会阅读本文。所以您需要安装一个 Oracle 数据库实例并为此示例 Rails 应用程序创建一个模式。执行此操作最简单的方法是使用 SQL*Plus,如下所示。(假定您已经安装 Oracle 数据库并知道如何使用。本教程中使用 Oracle 数据库 11g。)
使用 SQL*Plus,创建一个可用于本应用程序的用户。
SQL> GRANT CONNECT, RESOURCE TO ruby IDENTIFIED BY ruby; SQL> ALTER USER ruby DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp; SQL> EXIT
如果您使用远程 Oracle 数据库,您需要安装 Oracle 数据库即时客户端,这样您无需安装标准 Oracle 客户端也无需拥有 ORACLE_HOME 即可运行您的应用程序。要安装该软件,请执行以下步骤:
- 访问适用于 Windows 的 Oracle 即时客户端的下载页。
- 下载 instantclient-basic-win32-11.1.0.7.0.zip。
- 将文件解压缩到某个目录下。
- 将路径添加到环境变量 PATH 的目录中。
第 2 步:安装 Ruby、RubyGems、Rails 和 Ruby/Rails Oracle 库
要在 Windows XP 上使用 Rails,您需要两套软件:带有 RubyGems 安装包的 Ruby 编程语言 Rails 2.2.2(Rails 的最新版本)和 Ruby/Rails Oracle 数据库。要下载并安装带有 Gems 安装包的 Ruby 安装程序,请执行以下步骤:
当 Ruby 编程平台安装完毕后,您就可以使用 RubyGems 了。RubyGems 是一个 Ruby 应用程序,您可以利用它来轻松安装 Ruby 框架。要安装 Rails 应用开发框架,您只需打开一个命令行提示窗口并键入一个命令。
C:\> gem install rails -v 2.2.2
您需要更新 Rubygems,因为 Rails 2.2.2 要求使用 Rubygems 1.3.1(或更高版本)。
C:\> gem update --system
既然您已经安装了 Ruby、RubyGems 和 Rails,您现在可以安装特定代码库,以使您的 Ruby/Rails 应用程序可以与您的 Oracle 数据库服务器进行通信。要安装 Ruby Oracle 库和 Rails Oracle Adapter,请执行以下命令:
C:\> gem install ruby-oci8 -v 1.0.3
C:\> gem install activerecord-oracle-adapter --source http://gems.rubyonrails.org
假设一切顺利,您现在已经安装了 Ruby、Rails 和 Rails-Oracle 连接库。现在,您可以创建您的第一个 Ruby on Rails Web 应用程序了。