用 Netbeans 開發 Ruby on Rails 程式

在 Windows 上沒有那麼好用的 shell 來執行一堆 ruby, rails, rake 等等的指令怎麼辦?那就用 Netbeans 6 + JRuby 吧!(註:Aptana, a.k.a. RadRails, 是下一個要體驗的工具 :P)

之前已經在「我的 JRuby 初體驗」中使用 Netbeans 6 + JRuby 來體驗一下開發 Ruby 的程式(雖然寫的東西簡單到不行:P),隨著 JRuby 對於 Rails 的支援愈來愈完整,而 Netbeans 6 也慢慢穩定了一點,所以就用它來體驗一下開發 Ruby on Rails (RoR for short)程式。

環境的準備

當然,必須要用 Netbeans 6 (NB6 for short)才能夠跟 JRuby 有完美的結合(至少我還沒在目前的 stable: Netbeans 5.5 成功過),可以到這裡下載 NB6 的 daily build。下載後便可以在 NB6 的功能表列的 Tools » Plugins 裡安裝關於 Ruby 的所有 plugins。當然這裡會安裝 JRuby,也就是你不必另外再安裝官方也就是你不必另外再安裝官方的 Ruby。

安裝好 plugins 重新啟動 NB6 之後,就可以在 File » New Projects... 裡看到可以建立 JRuby 或 Rails 的 project 了。

既然都已經整合進 NB6 了,那當然是照著它的 Wizards 一步步輸入:

其實只要輸入完 Project name ,Rails 就會產生好整個 framework 了,然後 Netbeans 會幫你整理 Project view 或 File view 來檢視物件或檔案:

開始 Coding...

過去我們在 console mode 下使用 rails 來產生 controller、model、scaffold、migration 等等物件時都要打指令,而所謂的 IDE 就表示幾乎可以在這個工作環境裡作完這些事!如果你要產生一個 controller ,那就在 Project viewControllers 上面按右鍵選 Generate... 就會有對話盒引導你如何產生 controller,同理 model 也是一樣的情況:

產生了 controller ,沒什麼好說,就是開始寫 code 啦~

我寫的程式只是個簡單的 AJAX 小程式,當按下 Click Me 的時候,就會呼叫 say controller 的 hello action,並取回它顯示的文字更新 id 為 'term' 的 HTML 元素。

那就執行吧!

按下 F6 就可以啟動 Rails 內附的 WEBrick server 來跑你的 RoR 程式了,當你注意到下方的訊息列已經在 port 3000 啟動好之後,就可以打開你的瀏覽器來測試了(網址是 http://localhost:3000/say/)

而在 WEBrick 啟動後,你要改 controller 或是 view 的 code 都不必重新啟動 WEBrick ,這就是 scripting language 另人雀躍的地方(Debug, no restart),當然你要關掉 WEBrick 的話,只需要利用它的按鈕就可以了。

其實 NB6 + JRuby 在我用了一段時間的體驗覺得整合得蠻不錯的,如果你正想開始玩 RoR,卻又希望有個還算容易上手的 IDE 的話,推荐你用用看 NB6 + JRuby!

  • Pingback: ericsk’s blog » 用 Netbeans 寫 RoR 的缺點()

  • Pingback: {|ihower.idv.tw| blog } » E-TextEditor 編輯器()

  • netbean6我用daily build(2007.06.04這版)安裝完,要用Plguin會有Nullpoint的錯誤訊息,用M9就沒有,但覺得速度上有一點慢.

    有個關於JRuby的問題,因為netbean自己帶有JRuby,但是找不到可以設定JRuby的地方,那要換成1.0,是直接把檔案蓋過去嗎,稍微Google了一下,卻找不到有人討論.

    話說,在mac下用習慣Textmate + iTerm,還真是不習慣用IDE,但是要推薦給同事用,似乎還是要用Windows的solution

  • kuni:
    在 options 裡有 Misc. 裡的 Ruby Installation 可以設定 🙂

  • 哈,不然自己為是,我想說那邊可能沒有,就沒有點那一項,還在想說怎麼可能沒有,感謝感謝.

  • lincoln

    请问你用基于netbeans的ror连接过oracle吗?
    我不知道怎样安装oci,能给讲讲吗?

  • Pingback: E-TextEditor 编辑器 | 电脑软件 | 站长日志()

  • auxo

    用JRuby 有什麼好處呢? 因為我對Ruby完全不熟悉。
    謝謝