ちゃんと Ruby on Rails (以下、Railsと略します) を覚えていないので、 RailsGuides をはじめてみました。この記事自体は、誰にメリットがあるかわからない内容ですが、ここでは RailsGuide の日本語での抜粋と実際に手順にに沿ってやってみたことなどなどを、その都度だらだらと書いていきます。ちゃんとした和訳をお探しの方は、以下のサイトを参照すると良いと思います。
幸いにも RailsGuides は mobi 形式でも配布されているので、Kindle for iPad を横に置きながらぼちぼちとやっていきます。
ちなみに 原文 は Creative Commons Attribution-Share Alike 3.0 の元で公開されています。
Rails の環境
いろいろなサイトがあるので、”rails 入門” や “rails インストール” などのキーワードで検索すれば、きっとインストールの仕方など、ご自分の環境にあった情報が得られるでしょう。
私の環境は、以下の通りとなっております。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
以下、見出しは基本的に RailsGuides の見出しに準じます。
1 このガイドの前提
対応する Ruby のバージョンと前提としている Rails のバージョンについて記述しています。Ruby 1.9.2 系 と Rails 3.2 系をインストールしていれば、ほぼ問題なく動作すると思います。それに加えて、まず Ruby を覚えてから Rails をやった方がいいよなどと書かれていますが、初めてのRubyを読んでいれば理解できると思います。わからなければ、その都度検索エンジンのお世話になれば良いではないですか。
2 Rails とは何か?
Rails の特徴などが書かれています。省略します。
Rails は「生産性が高い」、「すぐにアプリケーションを作成できる」などといわれていますが、Web アプリケーションフレームワークなので、個人的には比較的学習コストが高いと思います。よく Rails の特徴として 「設定より規約を」 と言われています。誤解を恐れずに言うならば、つまりは規約を覚えなければ話にならないわけです。
以下については、このガイドに説明があるので、単語だけ覚えるだけにとどめて、ガイドを読み進めるうちに覚えるか、検索エンジンのお世話になるかすれば良いと思います。最初からわかっていれば入門ガイドのお世話になる必要もありませんしね。
- Action Pack
- Action Controller
- Action Dispatch
- Action View
- Action Mailer
- Action Model
- Action Record
- Action Resource
- Action Support
- Railties
3 Rails プロジェクトを新規作成する
3.1 Rails のインストール
RubyGems からインストールするのが簡単です。
1
|
|
Windows を使用している人は Ruby と Rails を Rails Installer で簡単にインストールできます。
3.2 blog アプリケーションを作成する
私は GitHub 用にソースファイルをアップする予定なので、github というそのままの名前のディレクトリに rails new
で作成する予定の blog というディレクトリを作成しました。Git の話を絡めるとややこしくなるので、リポジトリの作成と最初の push のコマンドまではここに記述しますが、これ以降は Git のコマンド等の話は省略します。蛇足になりますが、私は GitHub でリポジトリをあらかじめ作成しました。
1 2 3 4 5 6 7 8 9 |
|
以下のように blog アプリケーションを作成します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
上記のような出力で Rails アプリケーションが作成されたので、ディレクトリの中身を覗いてみましょう。README.md 以外は rails new blog
で作成されたファイルですが、たくさんありますね。何がなにやらよくわかりません。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
|
RailsGuides の説明によると、ファイルとフォルダ構成は以下のようになってます。
ファイル/フォルダ名 | 目的 |
---|---|
app/ | アプリケーションで使用する Controller, Model, View, Asset を含みます。このガイドの残りでは、このフォルダに焦点を当てます。 |
config/ | アプリケーションの実行時のルール、ルーティング、データベースなどを設定します。config/ に関しては Configureing Rails Applications で詳細を扱います。 |
config.ru | Rack の設定です。Rack ベースのサーバーがアプリケーションを開始するのに使用します。 |
db/ | 現在のデータベーススキーマとしてデータベースマイグレーションを含んでいます。 |
doc/ | アプリケーションの詳細なドキュメント |
Gemfile Gemfile.lock | アプリケーションに必要な gem の依存関係を指定する事ができます。 |
lib/ | アプリケーションの拡張モジュール |
log/ | アプリケーションログ |
public/ | そのまま公開される唯一のフォルダです。静的なファイルと生成された Assets を含みます。 |
Rakefile | このファイルはコマンドラインから実行されるタスクを見つけて読み込みます。タスクの定義は Rails のコンポーネントを通して定義されます。Rakefile を変更するよりも、アプリケーションの lib/tasks ディレクトリにファイルを追加することで、タスクを追加するようにしてください。 |
README.rdoc | アプリケーションの簡単な手順書です。アプリケーションが何をするかや、どのようにセットアップするかを、他の人に解るようにこのファイルを編集してください。 |
script/ | アプリケーションを起動する Rails のスクリプトを含みます。また、アプリケーションをデプロイ/実行するスクリプトを含めることもできます。 |
test/ | 単体テスト、Fixture および 他のテストの仕組みです。これらについては Testing Rails Applications で扱います。 |
tmp/ | 一時ファイル |
vendor/ | サードパーティのコードを置くためのディレクトリです。典型的な Rails アプリケーションでは、Ruby Gems、 Rails のソースコード(プロジェクトに任意でインストールした場合)や追加パッケージ機能を含むプラグインをインクルードしています。 |
3.3 データベースを設定する
データベースの設定は config/database.yml
にあります。なにも設定してなければデフォルトでは SQLite3 用にデータベースが設定されています。デフォルトで以下の3つの環境で Rails を実行する事ができます。
development
: 手動でインタラクティブに実行するためのローカル開発用の環境test
: 自動テストを実行するための環境production
: アプリケーションをデプロイして公開するための環境
rails new blog --database=mysql
でデータベースを指定することも可能ですし、手動で設定すべきではありません。
SQLiter3、MySQL、PostgreSQL、SQLiter3 + JRuby、MySQL + JRuby、PostgreSQL + JRuby の設定が記述されていましたが、今はデフォルトの SQLite3 で充分なため割愛します。
3.4 データベースを作成する
以下のコマンドで空のデータベースを作成します。
1 2 3 4 |
|
失敗しました。
JavaScript の実行環境がないと言っています。私もインストールした覚えはありません。上記のサイトを見てみるといろいろ実行エンジンがありますが、ここでは一番上にある therubyracer を使うことにします。
次のように Gemfile の末尾に以下を追加して、bundle
を実行して therubyracer をダウンロードして、もう一度 rake db::create
を実行します。
1 2 3 |
|
何も出力がありませんが、これでデータベースは作成されました。以下のファイルが追加されたはずです。
- db/development.sqlite3
- db/test.sqlite3
4 Hello, Rails!
4.1 Web サーバーを起動する
これで Rails を実行できる環境が整ったので、Rails を実行してみます。以下のような出力結果が得られます。
1 2 3 4 5 6 7 8 |
|
WEBrick という Web サーバーが3000番ポートで起動してしたので、ブラウザでアクセスしてみます。
上手く表示されました。
Web サーバーを停止するには、起動したコンソールで <Control + C> を押します。また、development モードでは、サーバーがファイルの変更を自動的に検知するので、ファイルの変更の度に Rails を停止する必要はありません。
ちなみにこのページはスモークテストです。スモークテストとは一通り開発を終えた段階で簡易に起動確認を行う予備的なテストのことです。
切りがいいので、今回はこのあたりで次回へ続きます。