下載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軟件的信息,請浏覽www.ruby-lang.org、 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的信息,請浏覽 www.ruby-lang.org/en/libraries/。 要獲取更多有關 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
選擇該復選框後,IDE會將以下語句放入environment.rb 文件中。
代碼范例 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文件中編輯數據庫配置。
特別注意: 如果您操作系統的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的選項
如果您現有的JRuby項目沒有提供rake目標。完全可以按照以下步驟將Goldspike插件添加到該項目中 。該插件添加的rake任務可以創建WAR文件。
在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。
其他步驟
要學習如何使用IDE快速創建by on Rails應用程序,請閱讀Creating a Ruby Weblog in 10 Minutes 。
要獲得支持和NetBeans Ruby特性的最近更新信息,請加入 [email protected] 和 [email protected] 郵件列表。
要提交您自己的NetBeans Ruby教程,請訪問NetBeans Community Docs頁面。