Ruby on Rails 之 Oracle 应用:简易教程

上传人:zejun11****63.com 文档编号:122628835 上传时间:2020-03-07 格式:DOC 页数:18 大小:216KB
返回 下载 相关 举报
Ruby on Rails 之 Oracle 应用:简易教程_第1页
第1页 / 共18页
Ruby on Rails 之 Oracle 应用:简易教程_第2页
第2页 / 共18页
Ruby on Rails 之 Oracle 应用:简易教程_第3页
第3页 / 共18页
Ruby on Rails 之 Oracle 应用:简易教程_第4页
第4页 / 共18页
Ruby on Rails 之 Oracle 应用:简易教程_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《Ruby on Rails 之 Oracle 应用:简易教程》由会员分享,可在线阅读,更多相关《Ruby on Rails 之 Oracle 应用:简易教程(18页珍藏版)》请在金锄头文库上搜索。

1、Ruby on Rails 之 Oracle 应用:简易教程您可能听说过 Ruby on Rails,一个似乎正以狂风暴雨之势席卷 Web 开发社区(尤其是 JEE 和 PHP 的编程人员)的新应用框架。 Rails 是功能强大的 Web 应用平台,而且深受 JEE 和 PHP 的编程人员的喜爱。当您了解了 Rails 的优势后,您就会理解它为何对 J2EE 和 PHP 编程人员有如此的吸引力。首先,它使用任何自视甚高的设计模式专家都很钦佩的严格的模型-视图-控制器体系结构;这可以解释它为什么吸引了大量 JEE 开发人员。其次,使用 Rails 可以轻松地构建基本系统 这对 PHP 开发人员具

2、有吸引力。 然而,从数据库的角度来说,Rails 还是有一些非常大的局限性。Rails 对您的数据库布局和应用程序需求做出了许多假定。例如,Rails 假定所有表都使用单一的非组合式主键。需通过 Rails 插件支持组合式主键。此外,Rails 支持多数据库而且可以对其间事务进行协调;Rails 不支持两阶段提交。本文章的目的不在于对 Rails 进行赞扬或批评,而只是对该技术的介绍。其中包含表扬也包含有批评。有时批评可能看起来过重了(尤其对于那些 Rails 的热爱者来说),但是请不要将 Rails 看得神乎其神。使用任何 Web 应用框架都是需要技巧的,无论是 JEE、ASP.NET 还是

3、 PHP。从长远来看,使用 Rails 可能比使用许多其他 Web 应用程序开发平台更高效,但是也需要假以时日来学习其中的技巧。 Ruby 是什么?Rails 是什么?Ruby 是一种动态编程语言,在很多方面和 Perl、Python 以及 Smalltalk 相似,但也有自己的特点。Java 和 PHP 编程人员似乎可以非常轻松地学会该语言,而且他们是 Ruby 的最忠实的拥护者。但是其他人也为该语言所吸引;这其中还包括著名的 Microsoft 王国中最资深的专家之一 Don Box。 Ruby 并不是新生事物;它创建于 1993 年,时间比 1995 年发布的 Java 或 PHP 都要

4、久。当时 Ruby 语言虽已成熟,但不如某些其他语言受欢迎。因此,Ruby 编程语言的周边体系并不像 Java、PHP 或 Perl 那样丰富。因此,您能找到的有关该语言的框架、信息库、书籍、Web 站点、网志和其他资源也相对较少。 David Heinemeier Hanson 提出了 Rails 框架(Ruby 历史上最受欢迎的应用程序)后,Ruby 社区的软弱无力的市场表现近期发生了变化。Rails 将 Ruby 编程语言扩展为域特定的语言,特别适合 Web 开发。它还使用了另一种语言扩展 ActiveRecord,使 Ruby 具有对象关系持久性。除了不支持组合主键和两阶段提交外,使用

5、 Rails 的最大障碍是您需要学习一种新的编程语言。这对大多数人来说都是不可忽视的问题;学习新语言是一项有趣的但令人望而却步的任务。 然而,如果您希望学习更多语言,我想没有别的语言比 Ruby 更值得推荐了。Ruby 代表着 10 年无商业利益篡改开发的巅峰。因此,Ruby 是受欢迎的语言,而且在很多情况下比 Java、C、或 Microsoft .NET 语言更高效。(可能要排除 Microsoft .NET 环境的 Python 语言端口 IronPython。Python,像 Ruby 一样,是一种动态高效的编程语言。) Rails 的用途 Rails 的设计初衷是创建使用关系数据库后

6、端的动态 Web 站点。它将关键词添加到 Ruby 编程语言中,从而使 Web 应用程序更易于配置。此外,它还可以从现有的数据库模式中自动生成完整(如果有些粗略)的 Web 应用程序。后者既是 Ruby 的最大优点也是它的致命缺点。Rails 对数据库模式命名惯例做出了假设,如遵循这些假设,只需执行一个命令即可生成一个基础 Web 站点。但是要完成此操作需要额外的配置,在一些情况下,则是根本无法实现的。您还可能发现 Rails 期望的每一个数据库惯例都可以被覆盖,但是需要做的覆盖越多,平台的效率就越低。这就是为什么 Rails 在使用新数据库开发“绿色领域”应用程序时非常强大的原因。不幸的是,

7、它在处理原有系统时并不是一个很好的解决方案。 要展示 Rails 在绿色领域应用程序开发中的作用,最好的方法是通过示例。如果您已经安装了 Oracle 数据库,并可以在其中创建新的数据库和表,那么创建一个完整的 Web 应用程序只需不到 15 分钟的时间。在这种情况下,我们将使用 Ruby of Rails 来构建一个产品目录。 示例:简单产品目录 2005 年,我开始投资于高级 (HG) 漫画书,特别是 1946 年以来的旧书。我创建了一个简单的 Ruby on Rails 数据库应用程序,这样我可以随着新漫画书的买入和卖出对其进行插入、移动、修改和删除。由于仅供我个人使用,所以我将它做得特

8、别简单。本文即将开发的应用程序是我在家使用的 Ruby on Rails 应用程序的删节版。 虽然 Rails 和 Oracle 数据库可以应用于多种平台,但本文中将侧重于 Oracle 应用程序开发人员最常使用的操作系统之一 Windows XP。本示例非常简单;基本上是等同于“Hello World”编程语言示例的数据库。这只是为了让您简单了解一下 Ruby,而并不展示 Rails 的全部功能,至多只是个用于演示任意编程语言完整功能的“Hello World”示例。 如果您在本示例中遇到问题,可能是以下三种原因之一引起的:不是您下载了错误的代码,就是您的数据库没有设置为允许连接,再或者就是

9、您的 Windows XP 操作系统的问题。在开发本示例的过程中,我遇到了一些版本控制和数据库配置的相关问题 都是由于无知造成的。多亏了我的一个朋友 Michael Carland,我才能完成此示例并让本示例尽可能简单。 事实是,让 Ruby on Rails 和 Oracle 协同工作并不简单。实际上,有时还可能有点令人沮丧。严格按照本文说明执行,您应该不会遇到问题。但是,如果超出了本示例范围,可能会出现一些问题。Rails 可以非常高效,但它是一个命令行开发环境,而且不附带通常与高级集成开发环境相关联的“自动魔术”。如果您不是一个“自己动手做”的技术人员,那我这次将不会向您推荐 Rails

10、。 第 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 TABL

11、ESPACE users TEMPORARY TABLESPACE temp;SQL EXIT如果您使用远程 Oracle 数据库,您需要安装 Oracle 数据库即时客户端,这样您无需安装标准 Oracle 客户端也无需拥有 ORACLE_HOME 即可运行您的应用程序。要安装该软件,请执行以下步骤:1. 访问适用于 Windows 的 Oracle 即时客户端的下载页。 2. 下载 instantclient-basic-win32-11.1.0.7.0.zip。 3. 将文件解压缩到某个目录下。 4. 将路径添加到环境变量 PATH 的目录中。 第 2 步:安装 Ruby、RubyGem

12、s、Rails 和 Ruby/Rails Oracle 库 要在 Windows XP 上使用 Rails,您需要两套软件:带有 RubyGems 安装包的 Ruby 编程语言 Rails 2.3.2(Rails 的最新版本)和 Ruby/Rails Oracle 数据库。要下载并安装带有 Gems 安装包的 Ruby 安装程序,请执行以下步骤:1. 访问 http:/rubyinstaller.rubyforge.org/。 2. 下载“适用于 Windows 1.8.6-26 最终版的一键式 Ruby 安装程序”。 3. 按照安装说明进行操作。 当 Ruby 编程平台安装完毕后,您就可以使

13、用 RubyGems 了。RubyGems 是一个 Ruby 应用程序,您可以利用它来轻松安装 Ruby 框架。要安装 Rails 应用开发框架,您首先需要更新 Rubygems,因为 Rails 2.3.2 要求使用 Rubygems 1.3.1(或更高版本):C: gem update -system然后安装 Rails:C: gem install rails -v 2.3.2既然您已经安装了 Ruby、RubyGems 和 Rails,您现在可以安装特定代码库,以使您的 Ruby/Rails 应用程序可以与您的 Oracle 数据库服务器进行通信。要安装 Ruby Oracle 库和

14、ActiveRecord Oracle Adapter,执行以下命令: C: gem install ruby-oci8 -v 1.0.4C: gem install activerecord-oracle-adapter -source http:/gems.rubyonrails.orgActiveRecord Oracle Adapter 的另一个选择是 Oracle ACE Raimonds Simanovskis 维护的倍受欢迎的 ActiveRecord Oracle 增强适配器。该适配器包含可用于新的和原有的 Oracle 数据库的有用的其他特性,这些特性从实际项目针对原始 Ac

15、tiveRecord Oracle 适配器 (activerecord-oracle-adapter) 的补丁提取而来,并支持三个主要的 Ruby 解释器(MRI 1.8.6、JRuby 1.1.6 和 Ruby/YARV 1.9.1)。要安装 ActiveRecord Oracle 增强适配器,执行以下命令:C: gem install activerecord-oracle_enhanced-adapter假设一切顺利,您现在已经安装了 Ruby、Rails 和 Rails-Oracle 连接库。现在,您可以创建您的第一个 Ruby on Rails Web 应用程序了。 第 3 步:创建

16、 Web 应用程序 要创建新 Rails 应用程序,您需要按照如下所示创建一个新 Rails 项目。 使用 rails 命令行应用程序创建一个新项目(这将自动创建一个新目录)。 C: rails comics_catalog -d oracle转至在前面步骤中创建的新项目目录。 C: cd comics_catalogC:comics_catalog既然您已创建一个新的 Rails 项目目录,现在您将需要配置您的项目以便 Rails 应用程序将使用 Rails-Oracle 连接库。 在您的项目目录中,有一个名为 config 的目录,其中有一个名为 database.yml 的文件。您需要使用您最喜爱的文本编辑器编辑 database.yml。最初,该文件将如下所示: development: adapter:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号