II-15-1. Ruby on Rails (RoR)の仕組み

RubyによるWebアプリケーション開発フレームワークであるRuby on Rails (RoR)の基本的な概念、構成、仕組みについて解説し、導入と設定方法、簡単な使い方を紹介する。またコードの自動生成や開発方法を述べ、RoRを利用したアプリケーション開発の第一歩に関して説明する。

【学習の要点】

* Ruby on Rails(RoR)はRuby言語によるWebアプリケーション開発フレームワークである。

* RoRでは、「設定より規約」「Don't Repeat Yourself」の方針がフレームワーク全体に適用されており、開発に要する作業量を大幅に減らすことが可能である。

* RoRのインストール方法には、各LinuxOSに付属するパッケージマネージャを用いる方法やRuby独自のパッケージ管理システムであるRubyGemsを用いる方法などがある。

* RoRではアプリケーションに必要なファイルの雛形を自動生成する仕組みが充実しており、開発の効率化を図ることができる。

図II-15-1. RoRにおける規約による関連付け

【解説】

1) Ruby on Rails(RoR)

Ruby on Rails(RoR)はRuby言語によるWebアプリケーション開発フレームワークであり、素早い開発を可能にするフレームワークとして人気を得ている。RoRの設計は「設定より規約:CoC(Convention over Configration)」と「DRY(Don’t Repeat Yourself)」の哲学に基づいている。

* 「設定より規約」は、従来のフレームワークでは設定ファイルに記述していた情報を、RoR側が規約にしたがって自動的に解決することにより、設定ファイル記述の大部分を不要とする考え方である。開発者がRoRの規約に従ったクラス名、変数名、ファイル名などを用いることで開発スピードが大幅に向上する。

* 「DRY」はアプリケーションに関するソースコード、設定などあらゆる情報は、一ヶ所に一度だけ記述する、という考え方であり、作業量が少なくなると共に、保守性が向上する。

2) RoRのインストール

* RubyGemsを利用したインストール

最も基本的な方法である。Rubyのインストール、RubyGemsのインストール、RubyGemsによるRoRのインストール、の手順で行う。

* apt-getを利用したインストール

debian系のLinuxディストリビューションではrailsパッケージが用意されており、apt-getコマンドによるインストールが可能である。

* One-Stepインストール

RubyStackなどのOne-Stepインストーラを用いることで、Ruby、RoR、Apache HTTP Server、MySQL、Mongrelなどを、事前に設定された状態で一挙にインストールすることができる。

3) RoRの構成

railsコマンドにより、アプリケーションを作成できる。アプリケーションの初期構造は以下のとおり。ソースコードファイルや設定ファイルなどを配置する場所が規約により指定されている。

* README - インストール手順と使い方

* Rakefile – ビルドスクリプト

* app/ - モデル、ビュー、コントローラのファイル

* components/ - 再利用可能なコンポーネント

* config/ - 各種設定ファイル

* db/ - データベーススキーマとマイグレーションの情報

* doc/ - 自動生成されるドキュメント

* lib/ - ライブラリ

* log/ - アプリケーションのログファイル

* public/ - Webからアクセス可能なディレクトリ

* script/ - ユーティリティスクリプト

* test/ - テストプログラム

* tmp/ - 一時的なファイル

* vendor/ - 外部のコード

OSS Course Naviのコンテンツは IPA OSS モデルカリキュラムを基としています。