yojikのlog

yojikのブログです

[tech]NetBeansで(J)Ruby on Rails

arton師はこうおっしゃています*1が、基本的にはMatzRubyもJRubyもどっちでもいけるんではないでしょうか > NetBeans
というわけでNetBeansで(J)Ruby on Railsを試してみました。楽チンです。データベースはDerbyを使い、JRubyRailsを動かします。(以下は、NetBeans,Rails共に超初心者なので外してる部分あるかもしれません)

Netbeansをインストールする

http://nbi.netbeans.org/m11/download.html
ここら辺から全部入りでインストールすると色々楽チン。

Ruby関連のプラグイン?を一式インストール

NetBeansを起動し、メニュー[Tools]::[update center]で一式もってくる。Globalのオプションとかは意味がわからなかったのでOFF(デフォルト)にした。NetBeans再起動で反映するはず。

derbyクライアントjarをjrubyのライブラリディレクトリにコピー
  • ここから \javadb\lib\derbyclient.jar
  • こちらへ C:\Documents and Settings\<ユーザ名>\.netbeans\dev\jruby-0.9.2\lib

ここがjburyの本体になってる。lib直下はクラスパスに追加されるっぽいので、Javaのライブラリを使いたい場合は、ここにインストールすることになると思う。

Railsプロジェクトの作成

Netbeansの[File]:[NewProject]でRailsプロジェクトが選択可能になってる。

derbyを起動して、データベースとコネクションを作成する
  • Tools:Java DB Databese: Start Java DB Server
  • Tools:Java DB Databese: Create Java DB Database

いろいろ適当に設定する。

テーブルの作成

作成したコネクションに接続してテーブルを作成する。右クリックして[Excecute Command]してSQLで作業した方が確実。GUIでも編集できるけど、一度設定すると修正できなかったりしてむしろ不便だ。

enviroment.rbをいじってjdbc用のアダプタをrequireする

こちらを参考に修正。
よく見るとNetBeansでプロジェクト作成した際に、上記の設定が自動的に追記されている。便利だ。
ちなみにJDBCアダプタ内部では、結構色々なDBに対応しようと頑張ってるっぽいかんじ。詳しくはソースで。

database.ymlをいじってjdbc用の設定に変更する
development:
  adapter: jdbc
  driver: org.apache.derby.jdbc.ClientDriver
  url: jdbc:derby://localhost:1527/rails-sample01
  username: hogehoge
  password: hogehoge
Railsを動かす
  • modelディレクトリやcontrollerディレクトリを右クリックしてgenerate可能。
  • Webrickはプロジェクトを右クリック「Run Project」で起動する。

# ここらへんでDatabase adapter*2JDBCじゃなかったりしてトラブルっぽい場合は、手動でWebrickのプロセスを落として[Run Project]をやり直してみる。javaのプロセスでそれっぽいヤツを頑張って探すべし。

感想:
  • JRubyならではの機能?は使ってないのでよく評価できてない。
  • NetbeansからのWebrickの落とし方がわからん
  • というか現状ではコンソールが無いのは不便すぎる(GUIで全部カバーできていない)
  • 現在のバージョンに限れば、(俺みたいな)初心者ユーザが勉強する環境としてはInstantRailsとかの方が圧倒的に楽です。
  • TomcatGlassfishに一式デプロイできるようになれば、もっとNetbeansJRubyで動かしている利点が出てくると思う。

まだまだ開発中なのでこのように不満点は多い。ただなんとなく未来を感じさせるというか、ワクワクする感じはありますね。

追記: TrackBackの循環参照。ちょっと不思議です。。。

*1:この件に関しては修正されています

*2:トップ画面のAbout your application’s environmentでクリックして見れるやつ