日替わり NAT’s Champloo

音楽やライブ(HM/HRやボカロなど)、旅行など、ごちゃっとした日記

Ruby on Railsで遊ぶ

簡単にWebアプリケーションが作れるという、近頃流行りのRuby on Railsを試してみた。
まずは、「Rolling on Ruby on Rails - Japanese Translation」あたりを参考に動かしてみる。
データベースにレコードを追加・表示・編集・削除する程度の単純なWebアプリケーションなら、とりあえず動くものがコーディングなしですぐに作れてしまうところは凄い。
というわけで、日記を書くWebアプリをRailsで作ってみた。
1. データベース(私はMySQLを使った)に日記のテーブルを作成

# 例えばこんなSQL文でテーブルを作る
create database diary;
create table entries(id int not null auto_increment primary key,
date date, title varchar(100), content text);

2. Railsのコマンドで空のアプリケーションを作る

> rails diary

3. database.ymlに記述してあるデータベース接続の設定を編集

development:
  adapter: mysql
  database: diary
  username: root
  password:

4. Railsスクリプトで、テーブルentriesを処理するプログラムを生成する

> ruby script\generate scaffold Entry

以上で作成完了。作成したアプリケーションを動かしてみる。
5. 動作確認のためのRailsに付属のWebサーバを起動する

> ruby script\server

6. Webブラウザで作成したアプリケーションのURLを開く

http://localhost:3000/entries/new

7. あとはアプリケーションを試すなり、プログラムを改良するなりご自由に

これだけで動くものができてしまう。作成したアプリケーションは最低限の表示と処理しかないので、実際に使えるものにするには、プログラムを変更することになる。この辺りはRailsRubyのコーディング知識が必要なので、ちょっと敷居が高いかも。しかしそこでまた便利なのが、モデル(データベースのテーブル定義)、ビュー(Rubyのコードを埋め込んだHTMLファイル)、コントローラ(ロジックを書いたRubyコード)のいずれかを変更すると、サーバを再起動することなくその場で動作確認できるところ。Java Servlet/JSPだと、せいぜいビュー(JSP)の変更がすぐに動作確認できるくらいだし(IDEやWebコンテナ、フレームワークの組み合わせによっては、モデルやコントローラもできるのかもしれないが)。
気軽にコードを変更して試せると、機能追加もデバッグもやりやすい。この辺りは、すぐに動くものを作りたいようなプロジェクトや、趣味でプログラミングしている人、新しくRailsを勉強する人とかにとっては嬉しい特長だと思う。
複雑なデータ構造を扱うアプリケーションをRailsで作ろうとするとどうなるかは未知数だが、単純なデータを扱うようなアプリケーションを一から作るには、Railsは強力なツールになりそうな感触。