書籍転載:Ruby on Rails 4アプリケーションプログラミング

書籍転載:Ruby on Rails 4アプリケーションプログラミング

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

2014年4月25日

環境が整ったら、いよいよアプリ作成を始めよう。スケルトンコードの生成から、Webサーバー上で実際にRailsアプリを動かすところまでを説明。

  • このエントリーをはてなブックマークに追加

書籍転載について

 本コーナーは、技術評論社発行の書籍『Ruby on Rails 4アプリケーションプログラミング』の中から、特にBuild Insiderの読者に有用だと考えられる項目を編集部が選び、同社の許可を得て転載したものです。

 『Ruby on Rails 4アプリケーションプログラミング』の詳細や購入は技術評論社のサイト目次ページをご覧ください。

ご注意

本記事は、書籍の内容を改変することなく、そのまま転載したものです。このため用字用語の統一ルールなどはBuild Insiderのそれとは一致しません。あらかじめご了承ください。

 前回は「1.2 Railsを利用するための環境設定」を説明しました。本稿はその続きです。

 Railsの概要が理解でき、アプリケーション開発のための環境が整ったところで、本章からはいよいよ、実際にRailsを利用したプログラムを作成していきましょう。

 基本的な構文を理解することももちろん大切ですが、自分の手を動かすことはそれ以上に重要です。単に説明を追うだけでなく、自分でコードを記述して実際にブラウザからアクセスしてみてください。その過程で、本を読むだけでは得られないさまざまな発見がきっとあるはずです。

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

 Railsでアプリケーションを開発するには、まず土台となるスケルトン(骨組み)を作成しておく必要があります。

 もっとも、これはなんら難しいことではありません。Railsでは、railsというコマンドを利用することで、アプリケーションの定型的なフォルダ構成や最低限必要なファイルを自動的に作成できるからです。

 本節では、railsコマンドでアプリケーション開発の「場」を準備すると共に、Railsアプリケーションの基本的なフォルダ/ファイル構造を理解しましょう。

1 新規のアプリケーションを作成する

 アプリケーションを作成するには、コマンドプロンプトから以下のようなコマンドを実行します。

コマンドライン
> cd c:\data           …… c:\dataに移動
> rails new railbook   …… railbookアプリケーションを生成
  create
  create README.rdoc
  create Rakefile
  create config.ru
  create .gitignore
  create Gemfile
  create app
  create app/assets/javascripts/application.js
  …中略…
Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed. *1
  • *1 1.2.4項の手順をスキップした場合には「Post-install message from rdoc:~」のようなメッセージが末尾に表示されます。

 本書では、「c:\data」フォルダの配下にrailbookという名前のアプリケーションを作成する前提で解説を進めます。アプリケーションの名前、保存先は適当に変更しても構いませんが、その場合、以降の説明やパスも適宜読み替えてください。

 上のような結果が表示され、「c:\data」フォルダの配下にrailbookフォルダが作られていれば、アプリケーションは正しく作成できています。

 railsコマンドの構文を、以下にまとめておきます。

【構文】railsコマンド(アプリケーションの作成)

コマンドライン
rails new appName [options]

 appName: アプリケーション名
 options: 動作オプション

 アプリケーション名は、Rubyのモジュール名として妥当であれば自由に決められます。railsコマンドで利用できる動作オプションを、表2-1にまとめておきます(先ほどの例では動作オプションは省略しています)。

分類オプション概要
基本 -r、--ruby=PATH Rubyバイナリのパス(デフォルトはc:/Ruby200/bin/ruby.exe)
-d、--database=DATABASE デフォルトで設定するデータベースの種類(mysql、oracle、postgresql、sqlite3、frontbase、ibm_db、sqlserverなどから選択。デフォルトはsqlite3)
-m、--template=TEMPLATE アプリケーションテンプレートのパス/URL
動作 --skip-gemfile Gemfileを作成しない
--skip-keeps .keepを組み込まない
-B、--skip-bundle bundle installを実行しない
-G、--skip-git .gitignoreを組み込まない
-j、--javascript=JAVASCRIPT アプリケーションに組み込むJavaScriptライブラリを指定(デフォルトはjquery)
-J、--skip-javascript JavaScriptライブラリを組み込まない
-O、--skip-active-record Active Recordを組み込まない
-S、--skip-sprockets Sprocketsを組み込まない
-T、--skip-test-unit Test::Unitを組み込まない
ランタイム -f、--force ファイルが存在する場合に上書きする
-q、--quiet 進捗状況を表示しない
-s、--skip 既に存在するファイルについてはスキップ
その他 -v、--version Railsのバージョンを表示
-h、--help ヘルプを表示
表2-1 railsコマンドの動作オプション

【NOTE】以前のバージョンでアプリケーションを作成するには?

 rails newコマンドは、デフォルトで、現在インストール済みの最新バージョンをもとにアプリケーションを作成します。しかし、以下のようにすることで、以前のバージョンのRailsアプリケーションを作成することもできます*2。バージョン番号の前後は、アンダースコア(_)で括ります。

コマンドライン
> rails _3.2.0_ new railbook
2 アプリケーションの内容を確認する

 railsコマンドの実行に成功したら、自動生成されたアプリケーションの内容をエクスプローラなどから確認してみましょう。railbookフォルダの配下には、図2-1のようなフォルダ/ファイルが作成されているはずです。

/railbook …… アプリケーションルート
├─ /app …… アプリケーションのメインフォルダ
│ ├─ /assets …… アセット(JavaScript、スタイルシート、画像などのリソース)
│ │ ├─ /images …… 画像ファイル
│ │ ├─ /javascripts …… JavaScript(CoffeeScript)ライブラリ
│ │ └─ /stylesheets …… CSS(SCSS)ライブラリ
│ ├─ /controllers …… コントローラクラス
│ │ ├─ /concerns …… コントローラ共通モジュール
│ │ └─ application_controller.rb …… アプリケーション共通のコントローラ
│ ├─ /helpers …… ビューヘルパー
│ │ └─ application_helper.rb …… アプリケーション共通のビューヘルパー
│ ├─ /mailers …… ActionMailer実装クラス
│ ├─ /models …… モデルクラス
│ │ └─ /concerns …… モデル共通モジュール
│ └─ /views …… ビュースクリプト
│   └─ /layouts …… レイアウト
│     └─ application.html.erb …… アプリケーション共通のレイアウト
├─ /bin …… コード生成や開発サーバの起動に利用するヘルパースクリプト
├─ /config …… アプリケーション本体、ルーティングなどの設定情報
│ ├─ /environments …… 環境単位の設定ファイル
│ ├─ /initializers …… 初期化ファイル
│ └─ /locales …… 辞書ファイル
├─ /db …… データベース本体やスキーマ情報、マイグレーションファイルなど
├─ /lib …… 自作のライブラリなど
│ ├─ /assets …… 自作ライブラリに関連するアセット
│ └─ /tasks …… タスク関連
├─ /log …… ログの出力先
├─ /public …… 公開フォルダ
├─ /test …… テストスクリプトなど
├─ /tmp …… 一時ファイル
├─ /vendor …… サードパーティのコード
│ └─ /assets …… サードパーティから提供されるアセット
├─ config.ru …… アプリケーションのエントリポイント
├─ Gemfile …… 必要なgemファイルを定義
├─ Rakefile …… ターミナルから実行可能なジョブ
└─ README.rdoc …… readmeファイル
図2-1 自動生成されたアプリケーションのフォルダ構造

 たくさんのフォルダやファイルが生成されていますが、この中でもよく利用するのは/appフォルダです。アプリケーションの動作に関連するコードの大部分は、このフォルダの配下に保存します。

3 HTTPサーバを起動する

 まずは、スケルトンにデフォルトで用意されたアプリケーションを起動してみましょう。1.1.3項でも触れたように、Rails(Ruby)はWEBrickというシンプルなHTTPサーバを標準で提供しています。本番での利用にはApache HTTP Server + Passengerのような専用の環境を準備すべきですが、開発用途であれば、まずはWEBrickで十分でしょう*3。本書でも、以降の手順はWEBrickを前提にサンプルの動作を確認していきます。

  • *3 その他、thinやUnicornのようなHTTPサーバを利用することもできます。

 WEBrickは、コマンドプロンプトからrails serverコマンドを実行することで起動できます*4。なお、以降でrailsコマンドを実行する場合は、あらかじめカレントフォルダをアプリケーションルートの配下に移動させる必要があります。

  • *4 ショートカットとして「rails s」でも代替できます。
コマンドライン
> cd c:\data\railbook   …… フォルダの移動
> rails server          …… サーバの起動*5
=> Booting WEBrick
=> Rails 4.0.2 application starting in development on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[2013-12-21 15:28:18] INFO WEBrick 1.3.1
[2013-12-21 15:28:18] INFO ruby 2.0.0 (2013-11-22) [i386-mingw32]
[2013-12-21 15:28:18] INFO WEBrick::HTTPServer#start: pid=10224 port=3000

 以上のような起動メッセージが確認できれば、WEBrickは正しく起動できています。サーバを終了する専用のコマンドはないので、停止する際はc+Cキーでシャットダウンしてください。

  • *5 Windows環境で、セキュリティの警告画面が表示された場合は、[アクセスを許可する]をクリックしてください。
4 アプリケーションにアクセスする

 WEBrickを起動できたら、ブラウザからアプリケーションにアクセスしてみましょう(図2-2)。

  http://localhost:3000/

図2-2 デフォルトで用意されたRailsのトップページ

 localhostとは、現在アプリケーションが動作しているコンピュータ自身を意味する特別なホスト名です。「MyMachine」のようなコンピュータ名、または127.0.0.1のようなIPアドレスで指定しても構いません。3000はWEBrick標準のポート番号です。

 図2-2のようなトップページが表示されればRailsは正しく動作しています。ページ上部の[About your application's environment]リンクをクリックすることで、Railsアプリケーションの環境情報が表示されることも確認しておきましょう。

【COLUMN】Rails開発の統合開発環境Aptana Studio

 本書では、特別な開発環境を用意することなく、標準的なテキストエディタでのみ学習を進めています。このような手軽さはRails(Ruby)の大きな利点のひとつですが、本格的な開発では、やはりテキストエディタでは機能不足であるというケースも少なくないのではないでしょうか。

 そのような場合には、Aptana Studioの利用を検討してみることをお勧めします。Aptana Studioは、Javaの統合開発環境としても有名なEclipseをベースとした開発環境で、以下のような機能を揃えています。

  • 構文ハイライト機能
  • コード補完機能
  • クラスのアウトライン表示
  • rails、rakeコマンドの実行プロンプト
  • Git統合
  • デバッグ機能
図2-3 Aptana Studioによる開発画面

 Aptana Studioのインストール方法については、著者サポートサイト「サーバサイド技術の学び舎 - WINGS」から[サーバサイド環境構築設定]を参照してください。

 次回は「2.2 コントローラの基本」を説明します。

※以下では、本稿の前後を合わせて5回分(第1回~第5回)のみ表示しています。
 連載の全タイトルを参照するには、[この記事の連載 INDEX]を参照してください。

1. Railsというフレームワーク

一般的なフレームワークについて触れた後、Railsの特徴、具体的な機能について概説。書籍転載の1本目(「第1章 イントロダクション」より)。

2. Railsを利用するための環境設定

Railsプログラミングに必要なソフトウェアを紹介。WindowsおよびLinuxにおける環境設定の手順や、SQLite/DevKit/Node.js/Railsのインストール方法を説明する。書籍転載の2本目(「第1章 イントロダクション」より)。

3. 【現在、表示中】≫ Ruby on Rails 4アプリケーションの作成

環境が整ったら、いよいよアプリ作成を始めよう。スケルトンコードの生成から、Webサーバー上で実際にRailsアプリを動かすところまでを説明。

4. コントローラの基本

Railsプログラミングの基点は、MVCのControllerクラス。ここから具体的なコードを記述していこう。

5. ビューの基本

Railsプログラミングの最大の特徴は「MVC」。Controllerの次はViewの基本をマスターしよう。そこで使われる「ERBテンプレート」とは?

イベント情報(メディアスポンサーです)

サイトからのお知らせ

Twitterでつぶやこう!