下载Ruby支持
如果您尚未安装NetBeans 6.0 IDE,请打开NetBeans IDE 6.0下载页面,然后下载一个个含有Ruby支持的IDE版本。 如果已经有NetBeans IDE 6.0,但是NetBeans IDE 6.0中没有Ruby支持,则按照以下步骤将Ruby支持添加到该IDE中。
- 如果您使用代理上网,可在主菜单中选择Tools > Options,并选择Manual Proxy Settings,输入您的HTTP代理服务器的名称和端口号,然后单击OK按钮。
- 在主菜单中选择Tools > Plugins。
- 在Plugins对话框中,单击Available Plugins选项卡,然后使用滚动栏查看Ruby类(如下图所示)。
图1:插件管理器
- 选中Ruby and Rails复选框,这样就在NetBeans IDE中添加了Ruby支持。
- (可选)选择JRuby and Rails Distribution复选框,下载并安装JRuby软件和Ruby on Rails框架。
- (可选)选择Ruby Experimental Hints复选框,这样可以显示额外的源代码提示。
- 单击Install按钮。
此时会出现一个NetBeans IDE安装程序。 - 在NetBeans IDE安装程序中单击Next按钮。
- 阅读许可证协议,然后选中I Accept the Terms in All License Agreements单选按钮,并单击Next按钮。
- 单击Install按钮。
- 安装完成后,可以选择Restart IDE Now立即重启IDE,也可以选择Restart IDE Later再单击Finish。
配置IDE使用您自己的Ruby安装(可选)
第一次在IDE中创建或打开Ruby项目时,IDE会检测除系统中是否还安装了其他Ruby版本(除IDE捆绑的JRuby软件之外)。 如果有,那么IDE会显示对话框询问使用哪个软件。
如果您决定稍后再安装Ruby软件,完全可按以下步骤配置IDE使用Ruby。
- 在IDE的主菜单中选择Tools > Options。
- 单击Ruby,然后(如有必要)单击Platform选项卡。
如果还没有打开或创建Ruby项目,第一次访问Platform选项卡时,IDE会显示一个Choose Ruby Interpreter对话框,其中有可用的Ruby列表(如下图所示)。如果没有显示该对话框,可直接执行 步骤5。图2:Choose Ruby Interpreter对话框
- 选择想要使用的Ruby解释器。如果该列表中没有您想要的Ruby解释器,请单击Other按钮。
- 单击Close按钮。
- 如果您在上一步骤中选择了Other,或者Ruby Interpreter对话框没有出现,请单击Browse按钮找到Ruby库的位置,然后单击Open按钮。
- 单击OK按钮关闭Options对话框。
有关如何获取Ruby软件的信息,请浏览[url]www.ruby-lang.org[/url]、 instantrails.rubyforge.org和 locomotive.raaum.org。
管理Gem
Gem是第三方Ruby库。 IDE提供了Ruby Gems管理器,可以用来添加和维护gem。
要打开该管理器,可在主菜单中选择Tools > Ruby Gems。 单击Installed选项卡可以查看gem列表,其中含有为已注册的Ruby platform安装的gem(请参阅上节以获取通过切换IDE Ruby Platform来使用您自己的Ruby的信息)。如果您正在使用JRuby platform和含有JRuby和Rails Distribution插件的IDE,该列表中会含有ActiveRecord-JDBC gem和Rails framework(如下图所示)。单击New Gems选项卡可以查看能够获取哪些添加到Ruby platform中的gem。
图3:Ruby Gems管理器中的Installed选项卡
注意: RubyGems wiki page 提供了如何启用Ruby Gems管理器管理本地Ruby gem存储库的信息 。
要获取更多有关Ruby Gems的信息,请浏览 [url]www.ruby-lang.org/en/libraries/[/url]。 要获取更多有关Rails的信息,请浏览rubyonrails.org。 请浏览jruby-extras.rubyforge.org/ActiveRecord-JDBC.,以获取有关ActiveRecord-JDBC gem的信息。
通过JRuby使用数据库服务器
可以使用以下两种方法通过JRuby on Rails应用程序访问数据库。
- MySQL Adapter。MySQL adapter包含在JRuby中。该MySQL adapter的使用就像本地Ruby on Rails应用程序一样简单。
- JDBC Adapter。如前所述,JRuby和Rails Distribution插件 包括ActiveRecord-JDBC gem,Rails应用上的Ruby通过ActiveRecord-JDBC gem可以 访问提供JDBC 3.0兼容驱动程序的数据库服务器,如MySQL、PostgresSQL、Oracle、 HSQLDB和Java DB (也称为Derby)。该JDBC驱动程序必须是纯Java驱动程序。 在笔者撰写本文的时候,ActiveRecord-JDBC是不能使用Sqlite JDBC驱动程序工作的。
要使用JDBC连接,数据库服务器中必须有JDBC 3.0客户端驱动程序。 例如,对于MySQL可以下载MySQL Connector/J驱动程序。 必须在JRuby/lib
文件夹中放置一个JDBC驱动程序的副本。 依据不同的安装位置,该文件夹会在以下两个位置其中之一。
- netbeans-install-dir
/ruby1/jruby-1.0.1/lib
- netbeans-user-dir
/jruby-1.0.1/JRuby/lib
要查找安装JRuby的位置,可在主菜单中选择Tools > Options,单击Ruby然后单击Platform选项卡。
注意: Java DB数据库服务器被捆绑在Glassfish应用服务器上,而且它的 derbyclient.jar 放在 glassfish-install-dir/javadb/lib 文件夹中 。
要在Ruby on Rails项目中使用JDBC adapter,可在创建该项目时选择Access Database Using JDBC复选框(如下图所示)。图4:选择JDBC Database Access
代码范例 1: 设置JDBC 环境 if RUBY_PLATFORM =~ /java/
require 'rubygems'
gem 'ActiveRecord-JDBC'
require 'jdbc_adapter'
end
当使用JDBC adapter访问数据库时,应该像使用该数据库的Rails adapter那样在 database.yml 中配置数据库(如下所示)。
代码范例 2: 配置JDBC数据库 adapter: mysql
database: my_development_database
username: fred
password: pfm
host: localhost
在Rails项目上创建Ruby时,IDE会将该配置添加到数据库服务器的 database.yml 文件中,该数据库服务器是在向导(如图4所示)的步骤2中选择的。如果您正在使用的数据库服务器没有在下拉列表中显示,在创建完该项目后可以在database.yml文件中编辑数据库配置。 - netbeans-install-dir
特别注意: 如果您操作系统的host文件中没有localhost ,可使用127.0.0.1 代替。也应注意在某些系统中,应使用小写字母进行数据库设置。
添加数据库
某些NetBeans教程要求创建一个数据库用于存储该教程所使用的数据表。创建数据库的步骤因数据库服务器不同而不同。下面是对于创建MySQL和Java DB数据库的说明。
添加MySQL数据库
- 如果数据库服务器还没有启动,启动该服务器。
- (可选)使用以下步骤创建用户。
- 在命令提示符状态下,输入以下命令:
mysql -u
user-p
如果该用户没有密码可省略-p 。否则,当出现提示时输入密码。在该mysql数据库中,该用户必须拥有像root一样的创建全局用户特权或插入特权。 - 使用以下语法创建用户。
CREATE USER 'fred'@'localhost'
identified by 'pfm'; - (可选)使用以下语法指定访问特权。在本例中,该用户获取了本地主机数据库服务器中所有数据库的所有特权。
GRANT ALL PRIVILEGES ON *.* TO 'fred'@'localhost';
- 输入quit 并按Enter键就可以退出命令提示符状态了。
- 在命令提示符状态下,输入以下命令:
- 要创建数据库,可在命令提示符状态使用以下语法:
mysqladmin -u fred -p create mydb_dev
如果该用户没有密码可省略-p。否则,当出现提示时输入该密码。如果还没有创建用户,可以使用root
作为用户名。
要获取更多有关创建MySQL用户和数据库的信息,请参阅MySQL Reference Manual。
添加Java DB (Derby)数据库
如果您安装了某个含有GlassFish应用服务器的IDE版本,该IDE会被配置成访问由GlassFish提供的Java DB数据库。 可以使用以下步骤添加该IDE中的Java DB数据库。
- 在IDE的主菜单中,选择Tools > Java DB Database > Create Database。
- 在Create Java DB Database对话框中,输入数据库名称、用户名和密码(可选),如下图所示。
图5:Create Java DB Database对话框
- 要为数据库指定不同的位置,可单击Settings按钮。在Java DB Settings对话框中,单击选择数据库存储位置的Browse按钮,找到想要存储数据库的文件夹后单击Open按钮。单击OK按钮关闭Java DB Settings对话框。
- 单击OK按钮。IDE就会创建数据库并且在Services窗口的数据库区域添加一个节点(如下图所示)。
图6:Services窗口中的数据库节点
使用IDE注册数据库服务器
在使用Ruby项目中的数据库服务器前,不必使用IDE注册它。但是,这样做后就可以创建和查看表,而且可以直接在IDE中练习SQL命令。某些NetBeans Rubytu torial要求使用IDE注册数据库。
注意: 如果安装了含有GlassFish服务器的IDE版本,IDE会自动注册Java DB数据库。
按照以下步骤可以使用IDE注册MySQL数据库服务器和在IDE和数据库实例之间建立连接。
- 如果数据库服务器中还没有JDBC 3.0兼容驱动程序(如MySQL Connector/J驱动程序)。
- 在Services窗口中,扩展Databases,右键单击Drivers节点并在弹出窗口中选择New Driver。
New JDBC Driver对话框就会出现。 - 单击Add按钮,找到并选择驱动程序的jar文件,然后单击Open按钮。
在New JDBC Driver对话框中就会显示所选驱动程序的设置。 - 单击OK按钮关闭New JDBC Driver对话框 。
IDE会在Drivers节点的下方添加一个数据库服务器节点,如下图所示。现在就可以建立与MySQL数据库实例的连接了。 - 要在IDE和数据库实例之间创建连接(如上节介绍的mydb_development数据库的例子),可右键单击该数据库的节点并选择New Connection。
New Database Connection对话框就会出现。 - 从Name下拉列表中选择您要用的驱动程序,如MySQL (Connector/J driver)。
- 使用Database URL文本框中的格式作为范例,在该文本框中输入数据库的URL。例如, jdbc:mysql://localhost:3306/mydb_development.
- 如有相关要求,可输入用户名和密码(如下图所示)。
图7:新数据库连接
- 单击OK按钮。
- 建立连接后,可单击OK按钮关闭该对话框。
IDE会在该数据库节点的下方为该连接添加一个节点。该节点的标记卡会显示该连接已经打开。下次运行IDE时,该标记卡会表明该连接已断开。要重新连接,可右键单击该节点并选择Connect,如有要求则输入密码然后单击OK按钮。
将JRuby应用程序部署到GlassFish应用服务器
默认情况下,JRuby应用程序将在WEBrick浏览器中运行。如是要将JRuby应用程序部署到GlassFish应用服务器,可以将应用程序和它的依赖关系打包为web archive (WAR)文件,然后再将这个WAR文件提供给应用服务器(可按以下步骤操作)。
- 部署的应用将使用生产数据库。打开database.yml文件,确保产品数据库的配置正确无误。
- 在创建JRuby应用程序的时候,会显示一个“ add rake targets to support application server deployment”选项(如下图所示)。如果打算在GlassFish中进行部署,应该选中该复选框。
图8:提供WAR Rake Target的选项
- 在Projects窗口中,右键单击该项目的节点,然后在弹出的菜单中选择Rails插件。
- 在Rails Plugins对话框中,单击New Plugins选项卡。
- 选择Goldspike条目然后单击Install按钮。
- 单击OK按钮开始安装。
- 关闭Installation和Rails Plugins对话框。
- 右键单击该项目的节点并在弹出菜单中选择Run Rake Task > Refresh List。
- 要将应用打包为WAR文件,可右键单击该项目节点并且选择Run Rake Task > War > Standalone > Create。
IDE就会创建WAR文件并且将该文件放在该项目的top文件夹中。 - 如果您正在使用JDBC adapter,可将数据库服务器的JDBC客户端驱动程序的副本放进glassfish-install-dir/lib 中,然后运行(或重新运行)GlassFish服务器。
在复制的时候,除非正在与MySQL数据库相连接,否则必须使用JDBC adapter。 - 将新近创建的WAR文件的副本放进GlassFish的autodeploy文件夹。例如,将projects-folder/MyRubyApp/MyRubyApp.war 复制到glassfish-install-dir/domains/domain1/autodeploy中。
- 在网页浏览器中输入该应用的URL。例如, http://localhost:8080/MyRubyApp。