【Rails:1】Ruby on Railsの概要と導入

Ruby on Railsについて

  • MVCアーキテクチャ
    Railsが採用している、アプリケーションを見通しよく構築するための設計法。
    アプリケーションの構成要素を次の3つに分類しています。
    • Model(モデル)
      データ(=アプリケーションの状態)の管理の部分。
      データの出し入れをしたり、読み書きする際に不正なデータが紛れ込まないよう監視したりと、データベースに関わる動作をすべて担当します。
      データに関する命令はコントローラから渡されますが、その実現方法はモデルだけが知っています。
    • View(ビュー)
      ユーザーに見せるインターフェイスの部分。
      データを直接扱うのではなく、あくまでその表示や見せ方を担当します。
      原則として、ビューでデータを準備することはしません。
    • Controller(コントローラ)
      データベースとインターフェースの橋渡しをするプログラムの部分。
      ビューからの入力を受け取る・モデルにデータの呼出や変更を指示する・データをビューに渡す等、様々な役割を果たします。
      コントローラが実行するそれぞれの仕事を『アクション』と呼びます。

  • コンポーネント
    Railsの実態は、コンポーネントRubyで書かれたライブラリ=汎用性の高い機能群)の集合体です。
    Railsは次のようなコンポーネントで構成されています。
    • Active Record::モデル
    • Action Pack
      • Action View::ビュー
      • Action Controller::コントローラ
    • Active Support::共有ライブラリ集
    • Action Mailer::電子メールの送受信(デフォルトでは組み込まれません)
    • Action Web Service::ウェブサービス(デフォルトでは組み込まれません)
  • 設計哲学
    • DRY(Don't Repeat Yourself=繰り返しを避けよ)
      同じことを何度も記述するのは避けるべきだという原則です。
      DRYを意識することで、次のようなメリットが得られます。
      • 開発効率が上がる
      • 仕様変更等での修正精度が上がる
    • COC(Convention over Configuration=設定より規約)
      規約(=デフォルトの設定)に従って開発することで、余計な設定の手間を省き、コードの記述に専念することができます。
      • 例: データベースでメンバー情報を扱いたい場合
        テーブル名をmembers(複数形)と命名すると・・・
        ⇒モデルのクラス名はMember、ファイル名はmember.rbと決まります。

Railsのインストール

  • gemからのインストール(Version 1.2.3)
$ gem install rails --version 1.2.3 --include-dependencies
    • RubyGems
      Ruby言語用のパッケージ管理システム。
      Ruby関連のソフトウェアのインストール等に利用します。
  • バージョンの確認
$ rails -v
# Rails 1.2.3 が返ってくればインストール成功
    • バージョンのアップデート
      次のコマンドでrailsのバージョンを最新にアップデートできます。
$ gem update rails

ただし、バージョンを変更するとアプリケーションが動かなくなることがありますので、1つのアプリケーションの開発中にバージョンアップするのは、基本的には避けるべきです。

Railsアプリケーションの作成

  • アプリケーションの作成(アプリケーション名:"app_name")
$ rails app_name
  • アプリケーションの起動
$ cd app_name
$ ruby script\server
  • アプリケーションの確認
    http://localhost:3000/(または http://127.0.0.1:3000/
    • WEBrick
      Rubyライブラリの一種で、WEBサーバの機能を提供します。
      アプリケーションの開発はWEBrickを使って行います。
    • ポート番号
      通信先のアプリケーションを識別する番号。
      Railsのデフォルトの設定では、WEBrickは3000番ポートを使います。
  • コントローラの作成(コントローラ名:"ctr_name")
$ ruby script\generate controller ctr_name
  • アクションの作成(アクション名:"index")
    • app_name\app\views\ctr_name.rb
class CtrNameController < ApplicationController
  def index

  end
end
# -*- coding: utf-8 -*-
  • コントローラ&アクション&ビューの同時作成
$ ruby script\generate controller ctr_name index
  • 変数の表示
    • app_name\app\controller\ctr_name.rb
  def index
    @message = 'メッセージ'
  end
    • app_name\app\view\controller\index.rhtml
<html>
<body>

  <%= @message %>

</body>
</html>

http://localhost:3000/ctr_name/indexをリロードするだけで確認できます。