連載
» 2014年02月28日 18時00分 公開

開発現場でちゃんと使えるRails 4入門(1):簡単インストールから始める初心者のためのRuby on Railsチュートリアル (2/3)

[著:林慶、監修:山根剛司,株式会社アジャイルウェア]

Railsでそろえておきたい開発環境

 本連載では、Railsアプリケーションの開発プラットフォームはOS XまたはLinuxを推奨します。これらのプラットフォームは優良なライブラリやツールが豊富で、使用している開発者も多いためトラブルに対する情報が手に入りやすく、開発を楽に進められます。

 筆者はRailsを選ぶメリットは開発を楽に進められるところにあると考えています。どのようなプロジェクトでも困難な個所はありますが、それらがビジネスロジックと関係のない個所で発生するのは、とても辛いはずです。より開発が楽なプラットフォームやツールを選んでいくことがRails習得、ひいてはプロジェクト成功への近道となるでしょう。

 Railsアプリケーションの開発において必須ともいうべき便利なツールを紹介します。

Git

 Gitはバージョン管理システムです。バージョン管理を分散して行うため、プロジェクトメンバーが同時に同じファイルを編集できます。また、「gem」(Rubyで書かれたプログラムをパッケージ化したもの)などのソースコードが公開されている「GitHub」や、RailsアプリケーションのPaaSを提供している「Heroku」などはGitを使って操作するようになっており、Railsアプリケーション開発では重要なツールの1つです。

rbenvRVM

 プロジェクトごとにRubyやライブラリのバージョンを管理したいという欲求はrbenvやRVMを使っていない限り誰もが抱くものです。これらはRubyのバージョンを管理するためのツールであり、rbenvは軽量で、RVMは機能が豊富という特徴を持っています。初めての方であればrbenvが適しているでしょう。

エディター

 使い慣れたエディターがあれば、それが良いでしょう。Rubyのコーディングを支援してくれるプラグインなどがあれば楽に開発ができますので探してみましょう。

 Rubyのシンタックス・ハイライトや入力補完を行い、かつ導入が簡単なものでは「Sublime Text」が便利です。また、「Vim」「Emacs」も根強い人気があるようです。

Rails 4のインストールとアプリケーションの新規作成

 それではRailsアプリケーションを作りながら学習を始めるとしましょう。

 本連載では、まず組織用の図書管理システムを作成しながら学習を進めます。このシステムでは組織で購入した図書の検索ができ、概要や保管場所、レビューなどを共有できます。

 これらの機能は一般的なアプリケーションで使うものと変わりありません。ここでの内容をどんどん応用してみてください。

Ruby 2.1のインストール

 まずはRubyの準備ですが、「Homebrew」「apt-get」などのパッケージ管理システムを使うか、rbenvやRVMからインストールできます。

 後者をお勧めしますが、より詳しく知りたい場合は、記事「Rubyプログラミングを始めるための基礎知識とインストール」の「パッケージマネージャー『Homebrew』のインストール(OS Xのみ)」や「RVMを使ってRuby 2.1.1をインストールする」を参考にしてください。

RubyGemsの「gem」コマンドでRails 4のインストール

 Rubyのインストールが済むと、Rubyの標準ライブラリ「RubyGems」(Ruby用パッケージ管理システム)を使えます。これでRailsのインストールをしましょう。次のようにRubyGemsの「gem」コマンドでインストールできます。

gem install rails

※コマンド自体は1つで簡単ですが、インストールには時間がかかるので、注意してください。

Railsの「rails」コマンドでアプリケーションの新規作成

 Railsをインストールしたら、次はいよいよRailsアプリケーションの作成です。Railsアプリケーションの作成は次のコマンドでできます。

rails new book_library

 これにより図書管理システム「book library」のひな型が作られました。cdコマンドで「book_libraryディレクトリ」に移動しましょう。

cd book_library

bundlerの「bundle」コマンドで標準以外のgemをインストール

 Railsを構成するコンポーネントの中には、単体のgemとして提供されているものもあります。それらはアプリケーションのルートディレクトリ直下にある「Gemfile」で指定されており、標準で含まれないgemもここに記述しておくと、以下のコマンドによりインストールできます。

bundle install --path vendor/bundle

※訂正とおわび(2014年3月28日追記)

2014年2月28日の記事公開時、上記bundleコマンドで記述の間違いがありました。下記のように訂正させていただきます。このたびは内容に不備があり申し訳ありませんでした。

bundle install
bundle install --path vendor/bundle

 「bundle」コマンドは「bundler」と呼ばれるアプリケーションごとのパッケージ管理システムです。前述したRubyGemsと異なり、アプリケーション(プロジェクト)ごとのgemを管理します。

Gemfileでパッケージのバージョン統一を楽に

 なぜ何重にもわたってパッケージを管理するのかというと、共同開発などにおいて複数の端末にパッケージをインストールする上で、いずれの端末でもきちんとバージョンを統一する必要があるからです。

 bundlerはこれを簡単にするもので、前述のGemfileにアプリケーションで使用するパッケージのバージョンを記述します。Gemfileは以下のように使用するバージョンを桁ごとに指定できます。

gem 'rails', "~>3.2"      # 3.2以降4.0より前
gem 'rails', "~>4.0.1"    # 4.0.1以降4.1.0より前

Railsの「scaffold」でデータの管理機能を作る

 さて、「アプリケーションをどのように作っていけば良いのか」という問いに対してRailsは「scaffold」という仕組みを用意しています。scaffoldはあるデータに対する一覧表示、詳細表示、新規作成、編集、削除といった機能をコマンド1つで生成します。

 ここでは、書籍データ(book)のscaffoldを生成しましょう。

bundle exec rails generate scaffold book title:string author:string outline:text

 ログを見ると、上のコマンドだけで幾つものソースコードが生成されていることが分かります。データベースのマイグレーションファイル(設計図のようなもの)も生成されており、それを基に以下のコマンドでデータベースをマイグレーションできます。

bundle exec rake db:migrate

 たったこれだけで、書籍データの管理機能が完成しました。

作成したアプリケーションの動きをブラウザーで確認

 次のコマンドでローカルでアプリケーションサーバーを立ち上げ、ブラウザーで「http://localhost:3000/books」にアクセスしてみましょう。

bundle exec rails server

 すると、書籍データの一覧を表示しますが、まだデータを登録していないので何も表示されていません。ページ中にある「New Book」リンクより、データ登録ページ(/books/new)に移行し、フォームに入力してデータを登録しましょう。

 登録が済むと、そのデータの詳細表示ページ(/books/:id)にリダイレクトされます。ページ下部にある「Back」リンクを押すと一覧ページに戻り、追加されたデータが一覧表示されていることが確認できます。

使用例

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。