書籍転載:Ruby on Rails 4アプリケーションプログラミング
Ruby on Rails 4アプリケーションの作成
環境が整ったら、いよいよアプリ作成を始めよう。スケルトンコードの生成から、Webサーバー上で実際にRailsアプリを動かすところまでを説明。
書籍転載について
ご注意
本記事は、書籍の内容を改変することなく、そのまま転載したものです。このため用字用語の統一ルールなどは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 | ヘルプを表示 |
【NOTE】以前のバージョンでアプリケーションを作成するには?
rails newコマンドは、デフォルトで、現在インストール済みの最新バージョンをもとにアプリケーションを作成します。しかし、以下のようにすることで、以前のバージョンのRailsアプリケーションを作成することもできます*2。バージョン番号の前後は、アンダースコア(_)で括ります。
> rails _3.2.0_ new railbook
|
- *2 もちろん、該当するバージョンのRailsは、あらかじめインストールしておきます。方法については、「1.2 Railsを利用するための環境設定」を参照してください。
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ファイル |
たくさんのフォルダやファイルが生成されていますが、この中でもよく利用するのは/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/
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統合
- デバッグ機能
Aptana Studioのインストール方法については、著者サポートサイト「サーバサイド技術の学び舎 - WINGS」から[サーバサイド環境構築設定]を参照してください。
■
次回は「2.2 コントローラの基本」を説明します。
※以下では、本稿の前後を合わせて5回分(第1回~第5回)のみ表示しています。
連載の全タイトルを参照するには、[この記事の連載 INDEX]を参照してください。
2. Railsを利用するための環境設定
Railsプログラミングに必要なソフトウェアを紹介。WindowsおよびLinuxにおける環境設定の手順や、SQLite/DevKit/Node.js/Railsのインストール方法を説明する。書籍転載の2本目(「第1章 イントロダクション」より)。