Ruby on Rails でToDoアプリを作ろう(1)
概要
このカリキュラムでは実際にRuby on Railsを使って簡単なToDoアプリを作ることで、Ruby on Railsの基本的な使い方を学習して行きます。 構成は全部で3章あり、以下の通りに進めていきます。
1章
- アプリケーションを開発するための準備を整えます。
2章
- ToDoの一覧表示ページ作成を通し、Ruby on Railsの基本的使い方を学習します。
3章
- 第2章で作ったものに様々な機能を追加し、よりRuby on Railsの理解を深めていきます。
Webアプリケーションの開発は複雑な事が多く大変です。
何度も繰り返し手を動かすことによって次第に全体の流れがわかってくるようになります。1度で理解できなくても焦らず、少しずつ進むようにしましょう。
この章の目標
Ruby on Railsでアプリケーションを開発するために必要な準備を整えます。
Ruby on Railsとは
Ruby on RailsとはWebアプリケーションを簡単に作れるようにするフレームワークです。
フレームワークとは英語で「枠組み」という意味があり、開発を行う時によく使う基礎的な機能をまとめて提供してくれるものを指します。
つまりRuby on Railsは、RubyでWebアプリを開発する際によく使う基本的な機能をまとめた「枠組み」ということです。
フレームワークはRuby on Railsの他にも
- PHPのフレームワーク「CakePHP」
- Pythonのフレームワーク「Django」
- JavaScriptのフレームワーク 「AngularJS」
など様々な種類があります。
Ruby on Railsで作れるもの
様々なフレームワークの中でも特に人気の高いRuby on Railsは、 ショッピングサイト、SNSサイト、ブログサイトなど多くのWebサービスで活用されています。
Ruby on Rails開発されたサービスとしては以下のようなものがあります。 おなじみのサービスも多いのではないでしょうか。
- Airbnb
- Cookpad
- Gunosy
- GitHub
- 食べログ
- Wantedly
Ruby on Rails のセットアップ
ここでは、自分のPCでRuby on Railsを使用できるようにするために、
- Ruby
- Ruby on Rails
これらのものをそれぞれインストールしていきます。
(既にRubyのインストールが完了している人は必要な箇所まで飛ばしてください)
Mac編
Homebrewのインストール
Homebrewはパッケージ管理ツールです。
ここではHomebrewを使ってRubyをインストールします。
しかし、そのHomebrewを使うにはXcodeコマンドラインツールが必要となるため、先に以下のコマンドをターミナルから実行して、インストールしてください。
ターミナルはアプリ一覧の「その他」から探すか、MacのSpotlight検索を画面上部の検索バーから開き Terminal と入力すれば表示されます。
ターミナルは今後も頻繁に使用するので、Docsに追加しておくと良いでしょう。
$ xcode-select --install
次に以下のコマンドでHomebrewをインストールします。
うまくいかない場合はHomebrewの公式のページを見てください。
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Homebrewでパッケージをインストールしておくと、以下のコマンドで、Homebrewでインストールしたものが全て自動的にアップデート出来るので便利です。
$ brew update
rbenvとruby-buildのインストール
実はMacにはデフォルトでRubyが入っているのですが、 入っているRubyのバージョンが古かったり、プロジェクトごとにバージョンを気軽に切り替えることができないため、バージョンアップ等を管理できるrbenvとruby-buildを入れます。
ターミナル上で以下のコードを実行してください。
$ brew install rbenv ruby-build
実行した後に、
$ rbenv -v
を実行して、バージョンが表示されればrbenvのインストールの完了です。
Rubyのインストール
次に、利用したいバージョンのRubyを落とします。
まずは利用可能なrubyのリストを確認します。
$ rbenv install -l
Ruby のバージョンが大量に表示されたと思いますが、今回は2.5.1を使用していきます。 インストールは rbenv installコマンドを使用します。(後ろにバージョンを指定します)
$ rbenv install 2.5.1
これで 新しいバージョンのRuby のインストールが完了したので、早速rbenvを使って使用するRubyのバージョンを切り替えてみましょう。
$ rbenv global 2.5.1
インストールしたRubyのバージョン全てを確認したい場合は、
$ rbenv versions
で全て確認できます。
以上でRubyのセットアップは完了です。
bundlerのインストール
ここでは、bundler(バンドラー)のインストールを行います。
まずその前にgem(ジェム)というものを理解する必要があります。
gemとはRubyにおけるライブラリのようなもので、Rubyを便利に扱うために公開されているプログラムのことを指します。
つまり、言い方を変えればRuby on RailsはWebアプリ開発に関するたくさんのgemの集合体とも言えます。
そして、bundlerとはgemのバージョン管理などをしてくれるものです。
これをあらかじめインストールしておくことで、今後たくさんのgemを扱っていく中で大変便利になります。
ターミナル上で以下のコードを実行してください。
$ gem install bundler
Ruby on Railsのインストール
いよいよRuby on Railsのインストールを行います。
ターミナル上で以下のコードを実行してください。
$ gem install rails --version='5.2.1'
Ruby on Railsに付随する様々なgemをインストールするためのコマンドです。実行すると、Ruby on Railsとそれに付随する様々なgemがインストールされていきます。
ここではインストールするものが多いので、しばらく時間がかかります。
インストール完了後、以下のコマンドで正しくバージョンが表示されればRuby on Railsが正しくインストールされたことになります。
$ rails -v
Windows編
Rubyをインストール
Windowsの場合、RubyInstaller を使って Ruby をインストールすることができます。
早速、RubyInstallerのダウンロードページからRubyをダウンロードしてください。
ダウンロードサイトにはRubyの種類がたくさんありますが、1番上のRuby + Devkit x.x.x-x
を選択し(2018年11月現在 2.5.1-2 が最新版)、自身の PC が 32/64 ビットのどちらか確認してからダウンロードしましょう。
- Ruby + Devkit 2.5.1-2(x64)(こっちは 64 ビット版)
- Ruby + Devkit 2.5.1-2(x86)(こっちは 32 ビット版)
「インストール先とオプションの指定」では、「Rubyの実行ファイルへ環境変数PATHを設定する」と「.rbと.rbwファイルをRubyに関連づける」にチェックします。
インストールの完了後、コマンドプロンプトで以下のコードを実行し、インストールしたRubyのバージョンが表示されれば無事完了です。
コマンドプロンプトは、「スタート」→「すべてのプログラム」→「アクセサリ」→「コマンド プロンプト」の順で実行できます。
$ ruby -v
Ruby on Railsのインストール
さて、Rubyのインストールが完了したらいよいよRuby on Railsのインストールをします。
まずは、RubyInstallerからDevelopment Kitをダウンロードしています。
Rubyのときと同様自分のPCの環境に合わせてダウンロードしてください。
ダウンロードが完了したら、.exeを実行し、Development Kitを解凍します。
解凍が完了したら、Rubyのインストールされているフォルダにdevkitという名前のフォルダを作成し、先ほど解凍したものをすべてコピーします。
コピーが完了したら、コマンドプロンプト上で上記のdevkitフォルダに移動し、以下の一連のコマンドを実行してください。
#移動
cd Ruby22-x64
cd devkit
#Devkitの初期化
ruby dk.rb init
ruby dk.rb install
#Ruby on Railsのインストール
gem install rails --no--ri --no-rdoc
これで、Railsとそれに付随する様々なgemがインストールができました。
ここではインストールするものが多いので、しばらく時間がかかります。
インストール完了後、以下のコマンドで正しくバージョンが表示されればRuby on Railsが正しくインストールされたことになります。
$ rails -v
データベースのセットアップ
ここまでで、Ruby on Railsのセットアップは完了しましたが、多くのWebアプリはユーザーからの情報などをまとめて管理するためのデータベースと言われるものが必要になります。
今回作るToDoアプリも、ユーザーが入力した情報などを格納する場所としてデータベースを使うため、ここではデータベースの準備をします。
なお、データベースには様々な種類がありますが今回はそのうちMySQLを使用していきます。 MySQLは、マルチユーザーに対応しており、Webアプリのような大量のユーザーが短時間でアクセスしてくる場合でも軽快に動作するという特徴から世界で最も使われているデータベースシステムの1つです。
また、データベースを視覚的に操作するためのGUIツールとして今回はMySQL Workbenchを使用しますが、他にも様々なデータベースを管理するためのGUIツールがあるので、自分にあったものを選ぶと良いでしょう。
Mac編
Mysqlのインストール
まずは、PCにMySQLをインストールします。 以下のコマンドを実行してください。
$ brew install mysql
実行後以下のコマンドからバージョンが正しく表示されればMySQLのインストールは完了です。
$ mysql --version
MySQLを自動で起動するようにする
MySQLは、使用時に起動されてなくてはいけませんがMacの場合、PCの電源を落とすとMySQLも終了し、再度手動で起動する必要があります。
これではいちいち面倒なので、ここではPCを起動すると同時にMySQLも自動で起動する設定にしておきます。
$ mkdir ~/Library/LaunchAgents
$ ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
MySQLを操作可能にする。
ここまででMySQLのインストールと自動で起動させるためのセットアップは完了しましたが、まだ、MySQLを起動することができません。MySQLを操作できるように、以下のコマンドを実行してください。
$ echo 'export PATH="/usr/local/opt/mysql/bin:$PATH"' >> ~/.bash_profile
$ source ~/.bash_profile
最後に以下のコマンドを実行し正しく動けばセットアップの完了です。
$ which mysql
#以下のように表示されれば成功
/usr/local/opt/mysql/bin/mysql
MySQL Workbenchのインストール
MySQL Workbenchは公式サイトのダウンロードページから直接ダウンロードをしていきます。
MacOSを選択して右側のダウンロードボタンからダウンロードを進めてください(ユーザー登録はスキップすることができます)。
Windows編
Mysqlのインストール
MySQLには、Windows版のインストーラが用意されています。
まずはこちらからインストーラをダウンロードしてください。
なお、ダウンロードボタンは2つあるかと思いますが、ここでは、Web経由でインストールするので上の「Download」をクリックします(このインストーラで、32ビット版/64ビット版の両方がインストールされます。またユーザー登録はスキップすることができます)。
ダウンロードが完了したら、インストーラを実行してください。
基本的には、デフォルトの設定のまま「Next」または「Execute」をクリックして先に進めてもらって構わないのですが、一部以下の部分は注意して進めようにしてください。
- ユーザーアカウント制御:「はい」をクリック
- Select one of the action below:「Install MySQL Products」をクリック
- License Agreement:「I accept the license terms」にチェックを入れ、「Next」をクリック
- MySQL Server Configuration:Root Account Passwordのみ設定して「Next」をクリック
MySQL Workbenchのインストール
MySQL Workbenchは公式サイトのダウンロードページから直接ダウンロードをしていきます。
WindowsOSを選択して右側のダウンロードボタンからダウンロードを進めてください(ユーザー登録はスキップすることができます)。
この章のまとめ
ここまでで一通りのRuby on RailsでWebアプリを作成するための準備が整いました。
次の章ではいよいよToDoアプリケーションを作り出していきます。