Ruby on Rails 的地位如日中天。随着它的流行,开发人员越来越迫切地需要一个集成开发环境(IDE)来使 Rails 更容易使用。RadRails 是基于 Eclipse 的环境,能够满足大多数开发人员的要求。
本文介绍了 RadRails IDE,并假定您已经知道用 Ruby on Rails 开发 Web 应用程序的方法,因此,本文将不会花时间说明 Ruby or Rails 代码,而将主要说明 IDE 本身。
您想要赶时髦使用 Ruby on Rails,但又没准备好放弃十分好用的 IDE;或者,您可能已经用 Rails 进行了一段时间的开发工作,但现在想要重新使用原来一直在用的编辑器。无论是什么原因促使您来使用 RadRails,好消息是 RadRails 的安装和使用都很简单。此部分先介绍如何安装 RadRails,然后再介绍如何使用 RadRails。
使用 RadRails 没有任何先决条件。它可以运行在任何装有 Ruby V1.8.4、Rails V1.1 (或更高版本) 以及 Java™ V1.4 (或更高版本) 的 Microsoft® Windows®、Linux® 或 Mac OS X 系统上。
如果系统满足这些要求,请从项目的 Web 站点获取一个 RadRails 副本 (请参阅 参考资料)。您还可以找到用于在已有的 Eclipse 安装和代码内运行 RadRails 的 Eclipse 插件的链接。注:如何使用这些发行版不在本文讨论范围内。
下载适当的 zip 文件后,只需将其解压缩并运行 RadRails 可执行文件。您可能需要调整 $PATH 以确保 RadRails 能够找到已安装的 Java。
安装 RadRails 之后,您就可以开始使用了。此部分将快速介绍 RadRails 应用程序并介绍如何浏览项目内和各项目的信息。启动一个项目的方法有两种,包括启动新项目和导入已有项目。
不管您选择使用哪种方法,开始都是最重要的。学习 RadRails 的最佳方法是接触并使用它。但在此之前,请先看看下面的快速指南。
让我们先来看看包含一个项目的 RadRails 应用程序,了解如何快速添加一个项目。
图 1 所示为 RadRails 应用程序。实际上,它显示了 Rails “透视” 的应用程序,但不必担心这个小问题。可以把它看作是一个分为六个区域的窗口:菜单栏、工具栏、浏览器和 Test::Unit 窗格、编辑器窗格、概要窗格和外部工具窗格。
图 1. RadRails 应用程序
- 菜单栏
- 菜单栏位于应用程序窗口的最顶层。它的作用就像其他应用程序中的菜单栏一样。其中有一个重要的菜单项 Window > Preferences,该菜单项可以设置或选择 Ruby 解析程序。如果不做设置或选择,尝试运行创建的大多数脚本 Rails 时将失败 (例如,单元测试脚本)。
- 工具栏
- 工具栏就在菜单栏下方。而且,它的作用也类似其他工具栏。最左侧的按钮是 New 按钮。
- 浏览器和 Test::Unit 窗格
- 浏览器和 Test::Unit 窗格位于应用程序窗口的左侧。本文将简短讨论如何浏览项目内和各项目的信息。使用 Test::Unit 部分可以监视单元测试状态。
- 编辑器窗格
- 编辑器窗格位于应用程序窗口的中央。此编辑器是一个优秀的编辑工具,提供了语法分色显示、缩进和其他工具。在编辑器中单击右键将打开含有许多其他工具的菜单,包括调试的选项、运行文件中的代码的机制、对选定区域加注释和取消注释等。
- 概要窗格
- 概要窗格位于应用程序窗口的右侧。此窗格提供了当前正被编辑的源文件的概要视图。此视图使您可以快速浏览文件内的方法和类。
- 外部工具窗格
- 外部工具窗格位于应用程序窗口的右下方。此窗格提供了可以访问 Web 服务器控件、生成器、RegExp 工具及其他工具的选项卡。
在浏览窗格内可展开、可收缩工作区内已有项目的层次结构。单击一个项目将展开该项目中包含的目录和文件 (图 2 显示了一个 RadRails 窗口,该窗口的浏览窗格中展开了一个项目)。
图 2. 展开的项目
只要项目被高亮显示,对于 RadRails 里的所有其他功能,该项目就是活动项目。此时,允许运行生成器、启动 Web 服务器等。
双击一个文件将在编辑器窗格里的编辑器中打开该文件。打开多个文件将以选项卡的形式打开这些文件。图 3 显示了在编辑器窗格中打开四个文件。
图 3. 选项卡中的多个文件
启动新项目很简单。单击工具栏上的 New,或从菜单栏中选择 File > New。通过任意一种方法都将打开 New 对话框。此对话框允许选择适用于要启动的项目类型的向导。这些向导选项包括 Web 服务器配置、SQL 文件、Ruby 项目和类以及 Rails 项目 (我们在此处看到的惟一选项)。
选择 Rails > Rails Project,然后单击 Next。将看到一个新屏幕,在该屏幕中输入项目名称。其他选项的默认值用于此次实验应当完全没问题,但以后可能需要调整这些值:
- 使用默认位置 (设为工作区目录里的项目所在的目录)
- 生成 Rails 应用程序框架 (设为 true)
- 创建 WEBrick 服务器 (也设为 true)
- 禁用表多元化 (设为 false)
做完必要更改后,单击 Finish。这样就创建了一个项目,在 RadRails 界面左侧的 Rails 浏览器窗格中可以看到该项目。
如果已经有一个 Rails 项目,并且想用它来创建项目而不是启动一个全新的项目,则可通过一种简单方法导入该项目。先单击工具栏上的 New,或从菜单栏中选择 File > New,就如同要启动一个新项目一样。在对话框中选择 Rails > Rails Project,然后单击 Next。在为项目命名之后,选中 Generate Rails application skeleton 复选框以关闭该选项。然后单击 Finish。
当项目出现在 Rails 浏览器窗格中后,可以在该项目上单击鼠标右键打开选项菜单。在此菜单中选择 Import,将弹出 Import 对话框。选择 General > File System,然后单击 Next。执行这些操作后就选择了要导入的源项目。除了选择源项目,还可以选择要导入的文件夹 (此值默认为项目的工作区),是否覆盖已有文件 (默认值为 no),是否要创建任何其他必需的文件或文件夹 (默认值为 false),以及导入时仅限于所选文件夹 (默认值为 true)。
当选定目录显示在文件浏览窗口中后,可以选择它 (错误消息 "There are no resources currently selected for import" 将一直显示在对话框的顶部,直至选择一个选项),然后单击 Finish 以导入文件。如果有任何副本,系统将显示另一个对话框,询问是否要用导入的版本覆盖原来的版本。
启动项目之前,要先创建项目运行所需的数据库。创建数据库的最佳方法是使用命令行:使用生成器创建移植脚本,然后编辑该脚本。在 RadRails 中将沿用同样的模式。
在浏览窗格中单击一个项目 (或项目里的一个资源),确保有选定的活动项目。然后在外部工具窗格中单击 Generators 选项卡以打开生成器工具,如图 4 所示。从窗格左上角的下拉式菜单中选择 Migration 生成器。要运行生成器,单击右下角的 Go。
图 4. 生成器工具
单击 Go 将在编辑器窗格中打开一个终端工具并在其中运行生成器脚本,然后在该工具里显示所有命令输出。接着,可以在浏览器窗格中展开项目树的 db > migrate 分支,然后单击文件名以在编辑器窗格里的编辑器中打开文件 (参见图 5)。当根据需要编辑完移植脚本后,可以从 Rake 运行该脚本,并开始开发应用程序。
图 5. 编辑移植
接下来,让我们重新来看生成器,从生成器开始操作。这一次,选择 Scaffold 生成器,然后在 Options 字段 (居中的字段,位于下拉式菜单和 Go 按钮之间) 中将其命名为 Example Admin。单击 Go 以在终端工具中运行生成器。
此时,已经有一个足够能运行 Web 服务器以及查看运行状况的应用程序了。在外部工具窗格中单击 Servers 选项卡,在窗格中显示的列表中单击相应的服务器,然后单击 Start (绿色箭头,位于外部工具窗格顶层的小工具栏左侧的第二个图标)。将为应用程序启动 Web 服务器和控制台。可以在外部工具窗格中单击 Console 选项卡 (现在为黑体) 访问此控制台 (参见图 6)。
图 6. Console 选项卡
由于生成的框架包括单元测试,因此可以运行这些单元测试。在先前讨论时已经设置了 Ruby 解析程序,是吧?默认情况下,测试将通过 (这些测试只断定 true 为真),但可以通过强制出错来查看会发生什么情况。在浏览器窗格中选择 Test > Unit > example_test.rb 编辑单元测试脚本,然后将 test_truth 方法中的断言改为读取 assert false。现在,我们知道它将出错。
要运行测试,在工具栏中单击 Run Unit Tests (左侧第三组按钮中左数第三个按钮)。由于测试出错,靠近浏览窗格的 Test::Unit 选项卡顶层的绿色栏将变为红色,窗格中间的 Failures 选项卡中将显示错误列表 (本例中只有一个错误),选定错误的堆栈跟踪也将显示在窗格的 Failure Trace 字段中 (如果仔细查看,能注意到选项卡的标题空白处还显示了单元测试的运行时间)。
单击 Test::Unit 窗格中间的 Hierarchy 选项卡以查看当前运行出现的所有错误的树型视图。在此选项卡 (或 Failures 选项卡) 中选中一个错误也就选中了 Test::Unit 窗格里的所有其他选项卡中的相同错误。
单击工具栏上代表集成测试或功能测试的按钮 (或单击 Run All Tests 按钮执行所有测试) 可运行相应测试。这样做将运行相应的一组测试,并提供以同样的方式通过 Test::Unit 窗格来访问结果。
本文为您介绍了 Ruby on Rails 所用到的 RadRails IDE 的较高层次的知识,介绍了如何安装 RadRails、应用程序窗口的结构和使用,以及开发应用程序的主要步骤。接下来要进行的操作取决于您的选择。当下载、安装了 RadRails,并执行完本文中介绍的步骤之后,您已具备了足够的知识和能力来使用 RadRails 自行开发应用程序。
学习
- RadRails 的主要参考资料来源于 RadRails.org。
- 了解更多有关 Eclipse Foundation 及其众多项目的信息。
- 参阅 “Eclipse 平台入门” 一文,这篇文章对 Eclipse 平台进行了很好的介绍。
- 访问 IBM developerWorks 的 Eclipse 项目资源 ,来扩展您的 Eclipse 使用技巧。
- 访问 developerWorks Open source 专区 获取广泛的 how-to 信息、工具及项目更新,从而帮助您用开放源码技术进行开发,并将它们与 IBM 的产品结合使用。
- 随时关注 developerWorks 技术事件和网络广播。
获得产品和技术
-
下载 RadRails。请确保获取适用于您的平台的正确版本。
- 要了解 Java 技术,请访问 Sun Microsystems 或 IBM。
- 在 IBM alphaWorks 查找最新的 Eclipse 技术下载。
- 使用 IBM 测试软件 改进您的下一个开放源码开发项目,可以通过下载或从 DVD 中获得这些软件。
讨论
- Eclipse 新闻组 为热衷于使用和扩展 Eclipse 的人们提供了丰富的参考资料。
- 通过参与 developerWorks blogs 加入 developerWorks 社区。