====== JRuby + Rails ====== ===== JRuby ===== === Ruby と JRuby が混在している環境で、JRuby 配下の Ruby スクリプトを確実に実行 === jruby -S <スクリプト名> === Swing版 irb 起動 === jirb_swing ===== セットアップ ===== ==== JRuby ==== === jruby-openssl === gem を実行する都度、openssl についてのメッセージが表示されるので、jruby-openssl を入れておく。 jruby -S gem install jruby-openssl === ruby-debug-ide === 次のモジュールをインストールします。 - ruby-debug-base-x.xx.x.x-java.gem\\ このモジュールは gem を使ってダウンロード + インストールできないので、下記 URL からあらかじめダウンロードしておきます。\\ http://rubyforge.org/frs/?group_id=3085\\ ダウンロードした ruby-debug-base-x.xx.x.x-java.gem がカレントディレクトリにある状態で次のコマンドを実行。\\ jruby -S gem install ruby-debug-base-x.xx.x.x-java.gem - ruby-debug\\ jruby -S gem install --ignore-dependencies ruby-debug - ruby-debug-ide\\ jruby -S gem install --ignore-dependencies ruby-debug-ide NetBeans で jruby プラットフォームに自分でダウンロードしてセットアップした(NetBeans 付属のではない) jruby を指定した場合、ruby Fast Debugger を NetBeans からインストールできないため、自分でセットアップする必要があります。\\ NetBeans 6.5 では ruby-debug-ide は 0.3x が入っているかどうかをチェックするようになっていましたので、ruby-debug-ide のインストールにはバージョンを指定する必要がありました。 jruby -S gem install --ignore-dependencies ruby-debug-ide -v 0.3.3 最新版は次の URL から確認してください。\\ http://rubyforge.org/frs/?group_id=3085 ==== Rails ==== === Rails のバージョンを指定してインストール === jruby -S gem install rails -v 2.0.5 === Rails のバージョンを確認 === jruby -S rails -v ===== Rails ===== ==== MySQL ユーザ作成 ==== ユーザ作成 create user <ユーザ名> identified by '<パスワード>'; 作成したユーザに対して localhost から接続し、すべての権限を許可 grant all on *.* to <ューザ名>@localhost; ==== アプリケーション作成 ==== jruby -S rails <アプリケーション名> -d mysql === config/database.yml の設定に従ってデータベースを作成 === _development jruby -S rake db:create _test jruby -S rake db:create RAILS_ENV=test _production jruby -S rake db:create RAILS_ENV=production === scaffold 実行 === jruby script/generate scaffold website title:string url:string comment:text === DB の migrate を実行(マイグレーションファイルの内容をDBに反映) === jruby -S rake db:migrate === コントローラ作成 === jruby script/generate controller <コントローラ名> == コントローラと同時にビューとビューに対応するメソッドを作成 == jruby script/generate controller <コントローラ名> <ビュー名> ==== Rails(JRuby上で実行)アプリケーションから、JARファイルを参照 ==== === JAR ファイルを配置 === jruby -S rails <アプリケーション名> で作成したアプリケーション配下の lib ディレクトリに JAR ファイルをコピー。\\ $JRUBY_HOME/lib ディレクトリに JARファイルを配置すると、後述の require を宣言することなく JARファイルにアクセス可能。 === コントローラから JAR ファイルを参照 === require '../../lib/ ==== Warbler ==== === インストール === jruby -S gem install warbler === WARファイル作成 === jruby -S warble Rails アプリケーションディレクトリに移動して実行します。 === warble用 config ファイル作成 === jruby -s warble config WARファイルを作成する前に実行。\\ warble.rb というファイルが生成されますので、このファイルを編集して、WARファイル生成について設定。 == 開発用DB に接続する WAR を生成 == 「jruby -S warble config」を実行して生成された warble.rb に次の設定を記述。 config.webxml.rails.env = ENV['RAILS_ENV'] || 'development' テスト用DB に接続する場合は、次のように記述。 config.webxml.rails.env = ENV['RAILS_ENV'] || 'test' 生成された WARファイル中の WEB-INF/web.xml に次のように反映。 rails.env development ==== GlassFish ==== === インストール === jruby -S gem install glassfish === 実行 === アプリケーションの親ディレクトリに移動して、次のコマンドを実行 jruby -S glassfish_rails <アプリケーションディレクトリ名> ==== jetty ==== === インストール === jruby -S gem install jetty-rails === 実行 === アプリケーションディレクトリに移動して、次のコマンドを実行 jruby -S jetty_rails ===== Tips ===== ==== Aptana ==== === Aptana + RadRails + jruby 環境でデバッグ実行するとエラーになる。 === - まず環境変数を設定しておく。\\ JRUBY_HOME=c:\java\jruby-1.1.4\\ JAVA_HOME=C:\Program Files\Java\jdk1.6.0\\ PATH=c:\windows\system32;c:\bin;%JRUBY_HOME%\bin;%JAVA_HOME%\bin\\ - http://rubyforge.org/frs/?group_id=3085 から ruby-debug-base をダウンロード。 - ruby-debug-base をセットアップ。\\ jruby -S gem install c:\dl\ruby-debug-base-0.10.2-java.gem - ruby-ide を jruby にセットアップ。\\ jruby -S gem install --ignore-dependencies ruby-debug\\ jruby -S gem install --ignore-dependencies ruby-debug-ide\\