最初にRadRailsパースペクティブを開きます。[ウィンドウ]→[パースペクティブを開く]→[その他]を選択して、[RadRails]を選択します。[RadRails]パースペクティブを起動すると、RadRails上でJRuby on Rails開発に必要なライブラリのダウンロードウィザードが起動します。インストールを選択すると、Rubyのライブラリ管理ツールである「gems」を利用し、オンラインでライブラリがインストールできます(図4)。
Railsプロジェクトを作成するには、[ファイル]→[新規]→[Rails プロジェクト]を選択します。プロジェクト名に「ToDoManager」(任意です。別のプロジェクト名でも構いません)と入力して[終了]を選択します。これで、アプリケーションサーバにRubyで実装された「Mongrel」、DBサーバはJavaで実装されたApache Derbyという、まさにJRuby on Railsなプロジェクトが完成です。
また、プロジェクトの作成に成功すると、Mongrelが起動し、AptanaのWebブラウザ上でRadRailsのスタートページを表示します(図5)。
続いて、scaffoldを使ってアプリケーション作成します。「scaffold」とはその名のとおりアプリケーションの「土台」を作ることができるRailsの機能のことです。ただ、一口に「土台」といっても、scaffoldで作ることができるアプリケーションはそのまま動作します。そのため、プログラマーは動作を確認しながら、一歩一歩アプリケーションを作り込むことができるようになります。
scaffoldをRadRails上で実行するときは[ジェネレーター]ビューを使います。RadRailsの右下にある[ジェネレーター]をクリックして、[ジェネレーター]ビューをアクティブにします。生成プログラムから「scaffold」を選択して[パラメーター]欄に以下のように入力して、[実行]します(図6)。
todo limit:timestamp title:string detail:text
成功すると、「ToDoManager」プロジェクトにToDo管理アプリケーションのプログラムが生成できます。
アプリケーションの次は「migration」を使ってデータベースを作成します。「migration」とはデータベースのスキーマを管理するRailsのツールです。
アプリケーションを開発している段階では、テーブルにカラムが追加、削除されるなどスキーマ情報が変更されることが多々あるでしょう。Railsフレームワーク自体はスキーマ情報の変更に柔軟に対応できますが、当然データベース自体は変更不可能です。そこで、Railsはmigrationを提供し、データベースも管理しやすい環境を準備しています。
RadRails上でmigrationを実行するときは、[Rakeタスク]ビューから実行します(※脚注2)。
※脚注2:「Rake」とは、Rubyのビルドツールのことで。多機能版なC言語のmakeコマンドのようなものです。
RadRailsの右下にある[Rakeタスク]ビューをアクティブにし、タスクから「db:migrate」を選択して、[実行]します。成功すると、「TODOS」テーブルが作成できます。
なお、確認する場合は[データ・ナビゲーター]を使います。[データ・ナビゲーター]を起動するには、[ウィンドウ]→[ビューの表示]→[その他]を選択して、[データ]→[データ・ナビゲーター]を選択します。「development」データベース上に「TODOS」テーブルがRailsの規約に従って作成できたことが確認できます(図8)。
ここまでで、ToDo管理アプリケーションの作成は完了です。
migration初回実行後にRadRailsを再起動すると、データベースが保存されずに消去してしまうことがあります。そのときは、RadRails起動後に再度migrationを実行してください。なお、2回目以降では筆者の環境ではデータベースが消去する現象は発生していません。
Mongrelが起動していない場合は、RadRailsの右下にある[サーバー]ビューをアクティブにして、「ToDoManagerServer」を起動してください。
Webブラウザで「http://localhost:3000/todos」にアクセスすると、ToDo管理アプリケーションの画面が表示されます(図9)。
繰り返しますが、scaffoldで作成したToDo管理アプリケーションはタスク名(Title)、詳細(Detail)、期限(Limit)のCRUD(Create、Read、Update、Delete)を行う機能を持ちます。
ここまで、RadRails上でJRuby on Railsを使ってアプリケーションを構築する方法を紹介しました。本稿では紹介していませんが、RadRailsにはほかにもデバッグ環境やRuby開発環境である「RDT」(Ruby Development Tools)など、便利な機能が多数あります皆さんも、RadRailsでJRuby on Railsの世界を体感してみませんか?
後編では、いよいよJRuby on Railsの真骨頂であるTomcat上でのアプリケーション実行について紹介します。
@IT関連記事
JRuby on RailsやJava EE開発に便利なNetBeans
Eclipse対抗馬の本命!? NetBeansとは?(後編) NetBeansはDB連携やWebアプリケーション、いま注目のJRuby on Railsの開発も簡単で、便利な機能がてんこ盛り
「Java Solution」フォーラム 2008/3/17
Ruby On Railsのチームに学ぶ仕事術
安藤幸央のランダウン(30) 素早い開発を提供するRuby On Rails。その開発チームも、優れたツールの活用でRuby On Railsのスピーディーな開発を実現している
「Java Solution」フォーラム 2006/3/25
WebプログラマはRailsに乗るべきか?
安藤幸央のランダウン(29) 日本で産まれたスクリプト言語Ruby。そのWebフレームワークとして海外から登場したRuby on Railsは驚異的なRADを提供するという
「Java Solution」フォーラム 2006/2/11
スクリプト言語をサポートするEclipseプラグイン
CoolなEclipseプラグイン(10) EclipseはJava以外の言語もサポートする。今回はPerl、Ruby、Pythonなどのスクリプト言語をサポートするプラグインを紹介する
「Java Solution」フォーラム 2006/2/25
JavaエンジニアのためのRuby入門
何だか盛り上がっているRuby。「でも触ったことないし」とためらうJavaエンジニアの皆さん! この2つ、実はよく似ているのです
第1回 Javaエンジニアにこそ、Rubyの良さが分かる
第2回 JavaとRubyの共通点と相違点
第3回 Strutsの知識を基に、Ruby on Railsを学ぶ方法
自分戦略研究所 > スキル創造研究室
Copyright © ITmedia, Inc. All Rights Reserved.