連載
» 2008年05月19日 00時00分 公開

Aptana RadRailsで始める JRuby on Rails超入門実用レベルに達したJRubyを体感してみよう(前編)(3/3 ページ)

[佐藤聖規,@IT]
前のページへ 1|2|3       

手順【1】Railsプロジェクト作成

 最初にRadRailsパースペクティブを開きます。[ウィンドウ]→[パースペクティブを開く]→[その他]を選択して、[RadRails]を選択します。[RadRails]パースペクティブを起動すると、RadRails上でJRuby on Rails開発に必要なライブラリのダウンロードウィザードが起動します。インストールを選択すると、Rubyのライブラリ管理ツールである「gems」を利用し、オンラインでライブラリがインストールできます(図4)。

図4 [Auto-Install gems] 図4 [Auto-Install gems]

 Railsプロジェクトを作成するには、[ファイル]→[新規]→[Rails プロジェクト]を選択します。プロジェクト名に「ToDoManager」(任意です。別のプロジェクト名でも構いません)と入力して[終了]を選択します。これで、アプリケーションサーバにRubyで実装された「Mongrel」、DBサーバはJavaで実装されたApache Derbyという、まさにJRuby on Railsなプロジェクトが完成です。

 また、プロジェクトの作成に成功すると、Mongrelが起動し、AptanaのWebブラウザ上でRadRailsのスタートページを表示します(図5)。

図5 プロジェクト作成成功(画像をクリックすると拡大します) 図5 プロジェクト作成成功(画像をクリックすると拡大します)

手順【2】scaffoldでアプリケーション作成

 続いて、scaffoldを使ってアプリケーション作成します。「scaffold」とはその名のとおりアプリケーションの「土台」を作ることができるRailsの機能のことです。ただ、一口に「土台」といっても、scaffoldで作ることができるアプリケーションはそのまま動作します。そのため、プログラマーは動作を確認しながら、一歩一歩アプリケーションを作り込むことができるようになります。

 scaffoldをRadRails上で実行するときは[ジェネレーター]ビューを使います。RadRailsの右下にある[ジェネレーター]をクリックして、[ジェネレーター]ビューをアクティブにします。生成プログラムから「scaffold」を選択して[パラメーター]欄に以下のように入力して、[実行]します(図6)。

todo limit:timestamp title:string detail:text 
図6 scaffold実行(画像をクリックすると拡大します) 図6 scaffold実行(画像をクリックすると拡大します)

 成功すると、「ToDoManager」プロジェクトにToDo管理アプリケーションのプログラムが生成できます。

手順【3】migrationでデータベース作成

 アプリケーションの次は「migration」を使ってデータベースを作成します。「migration」とはデータベースのスキーマを管理するRailsのツールです。

 アプリケーションを開発している段階では、テーブルにカラムが追加、削除されるなどスキーマ情報が変更されることが多々あるでしょう。Railsフレームワーク自体はスキーマ情報の変更に柔軟に対応できますが、当然データベース自体は変更不可能です。そこで、Railsはmigrationを提供し、データベースも管理しやすい環境を準備しています。

 RadRails上でmigrationを実行するときは、[Rakeタスク]ビューから実行します(※脚注2)。

※脚注2:「Rake」とは、Rubyのビルドツールのことで。多機能版なC言語のmakeコマンドのようなものです。

 RadRailsの右下にある[Rakeタスク]ビューをアクティブにし、タスクから「db:migrate」を選択して、[実行]します。成功すると、「TODOS」テーブルが作成できます。

図7 migration実行(画像をクリックすると拡大します) 図7 migration実行(画像をクリックすると拡大します)

 なお、確認する場合は[データ・ナビゲーター]を使います。[データ・ナビゲーター]を起動するには、[ウィンドウ]→[ビューの表示]→[その他]を選択して、[データ]→[データ・ナビゲーター]を選択します。「development」データベース上に「TODOS」テーブルがRailsの規約に従って作成できたことが確認できます(図8)。

図8 [データ・ナビゲーター] 図8 [データ・ナビゲーター]

 ここまでで、ToDo管理アプリケーションの作成は完了です。

注意!

migration初回実行後にRadRailsを再起動すると、データベースが保存されずに消去してしまうことがあります。そのときは、RadRails起動後に再度migrationを実行してください。なお、2回目以降では筆者の環境ではデータベースが消去する現象は発生していません。


手順【4】Mongrel上で動作確認

 Mongrelが起動していない場合は、RadRailsの右下にある[サーバー]ビューをアクティブにして、「ToDoManagerServer」を起動してください。

 Webブラウザで「http://localhost:3000/todos」にアクセスすると、ToDo管理アプリケーションの画面が表示されます(図9)。

図9 ToDo管理アプリケーション 図9 ToDo管理アプリケーション

 繰り返しますが、scaffoldで作成したToDo管理アプリケーションはタスク名(Title)、詳細(Detail)、期限(Limit)のCRUD(Create、Read、Update、Delete)を行う機能を持ちます。

Tomcat上でJRuby on Railsを動かすには?

 ここまで、RadRails上でJRuby on Railsを使ってアプリケーションを構築する方法を紹介しました。本稿では紹介していませんが、RadRailsにはほかにもデバッグ環境やRuby開発環境である「RDT」(Ruby Development Tools)など、便利な機能が多数あります皆さんも、RadRailsでJRuby on Railsの世界を体感してみませんか?

 後編では、いよいよJRuby on Railsの真骨頂であるTomcat上でのアプリケーション実行について紹介します。

@IT関連記事

この記事は、プログラミングに誇りを感じるヒトのための技術情報フォーラム「Coding Edge」との連動企画です。このフォーラムには、Rubyの情報が多数掲載されます


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を学ぶ方法
自分戦略研究所 > スキル創造研究室

プロフィール

佐藤 聖規(さとう まさのり)

某大手SIerに勤務し、ソフトウェア開発の抜本的生産性向上のためEclipseを中心とした開発環境の整備に日夜いそしんでいる。その傍ら、アーキテクトやトラブルシューターとしてプロジェクト支援も行っている。



前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。