「プログラム初心者、椛島千愛のRuby on Rails4奮闘記」第2回「Railsの環境設定とMVCの考え方」

椛島千愛です。みなさん、いかがお過ごしでしょうか?私は先日、福岡県糸島市唐泊の、博多湾でとれた牡蠣が食べれる「牡蠣小屋」へ行ってきました♪牡蠣も旬で美味しく、かつ家族・恋人・友人・同僚とわいわいできるお店なので、福岡へお越しの際はぜひ行ってみてください!

さて、みなさん、Ruby on Railsの勉強の進捗はいかがでしょうか?前回は、Railsの勉強を始める前に・・・というタイトルで勉強の進め方等のお話をさせていただきました。今回は、Railsの環境構築とRailsが導入しているMVCアーキテクチャーについて一緒に学習していきたいと思います。(認定指定教材第1章、第2章の内容)

本日のコンテンツ:

1.Ruby on Railsの環境構築
2.MVCアーキテクチャーについて


1.Ruby on Railsの環境構築
学習を進めていく上で、環境構築は大事です。Ruby on Railsの環境構築に必要なソフトをみていきましょう。Windows版の構築方法は、認定教材の方に記載があるため、今回は、MacOS X版で解説していきます。環境構築に必要な手順は下記になります。
①homebrewのインストール
②Rubyのインストール
③Railsのインストール
Macのターミナルを使って、インストールしていきます。一つ一つ詳しく見ていきましょう。
①homebrewのインストール
→ http://brew.sh/index_ja.html
homebrewとは、MacOS用のパッケージ管理ツールです。実行ファイルや設定ファイル、ライブラリなどを一つのファイルとしてまとめているものをパッケージと呼びます。このパッケージのインストールやアンインストールを一元管理できるツールです。実際に入力するコマンド手順を紹介します。ターミナルにコピペしやすいようにまとめました。

<1>下記のコマンドでまずhomebrewをダウンロード
ruby ‐e “$(curl ‐fsSL
https://raw.githubusercontent.com/Homebrew/install/master/install)”

<2>パスの指定を行うコマンド
echo ‘export
PATH=/usr/local/bin:$PATH’ >> .bash_profile
source .bash_profile

<3>動作確認のためのコマンド
brew doctor

→この時に「Your system is ready to brew」と表示されればOKです。

<4>最新情報へのアップデートのコマンド
brew update

ここからは、brewの便利ツールをインストールしましょう。
<5>Gitを使用可能にするコマンド
brew install git

<6>Rubyのコマンド実行(irb)を可能にするコマンド
brew install readline

<7>httpsを使用するためのインストールコマンド
brew install openssl

<8>Rubyのバージョンを切り替えるためのRbenvのインストールコマンド
brew install ruby‐build
brew install rbenv

<9>Rbenvのパスの設定コマンド
echo ‘export PATH=”$HOME/.rbenv/bin:$PATH”‘
>> .bash_profile
echo ‘eval “$(rbenv init ‐)”‘
>> .bash_profile
source .bash_profile

<10>インストールできるRubyのバージョンを設定
rbenv install -l
rbenv install バージョン
rbenv versions
ruby -v

<11>Railsのインストール(gemを使ってinstallしていきます。)
gem install rails バーション ←ここのバージョンはRubyのバージョンと合うかどうかがポイント
gem install bunder
rails -v

ここまでで、Railsの環境構築が完了します。構築無事に完了できましたでしょうか。

rails new プロジェクト名

さらに上記のコマンドで新しいWebアプリケーションが作成できます。無事に作成できましたでしょうか。
さて、次はRailsで使用されているMVCアーキテクチャーについて、一緒に学習していきましょう。


2.MVCアーキテクチャーについて
MVCとはデザインパターンの一種です。まずは、下記の図を見てください。
kaba20170101
MVCとは、Model・View・Controllerの略で、処理を3つの役割に分割して実装する手法になります。
まず、Modelでは、処理のメインロジックやデータアクセスを担当します。Viewでは、処理結果としては画面表示を担当します。最後に、Controllerはクライアントよりのリクエストを直接受け取って処理を行う、一番前面となる部分で、文字通りModelやViewを「制御」しています。上記の図のように、Controllerはリクエスト情報を基にModelに処理を依頼し、Modelはデータと連携して処理を行い、処理結果をControllerに返し、Controllerは帰ってきた処理結果データをViewに私、ViewはデータをもとにHTML出力処理を行います。Controllerが全ての仲介に位置することになります。この3つを詳しくみていきましょう。下記の図はtodoというアプリケーション名で新たにアプリケーションを作った時のModel・View・Controllerの配置になります。
kaba20170102
Modelは、「ActiveModel」という概念に抽象化され、デフォルトではActiveRecordというライブラリが使用されます。ActiveRecordでは、リレーショナルデータベースのテーブルに対応するModelクラスにアプリケーションのデータとロジックを実装していきます。データの永続化に関する処理の多くはActiveRecordが担当してくれるので、単純な Modelであればプログラマが書かなければならないコードの量はごくわずかです。Modelに追加することの多いコードとしては、クラスの持つ値の検証や、他のModelとの連携が挙げられます。
次に、Viewは、Webアプリケーションの見た目の部分を担当しています。具体的には、Viewファイルの中のindex.html.erbといった名前のHTML用のファイルになります。ModelやControllerには、HTMLのコードの記載はせず、Viewに記載します。また、helperメソッドが多く用意されており、よく利用されるのはフォームやリンクの出力を支援するヘルパーです。さらに、レイアウトに関するファイルも準備されています。
最後に、Controllerですが、一番大事な部分になります。この部分で、セッション管理や、URLの解釈、HTTPリクエスト・レスポンスの処理、クッキーの管理などを担当しています。Controllerは、 ApplicationControllerに共通機能を追加したり、ApplicationControllerを継承した各種Controllerクラスを追加し開発を進めていきます。

試験の模擬問題では、この部分は下記のように出題されています。(Rails3のブロンズ試験模擬問題参照→ https://www.school.ctc-g.co.jp/ruby/training_rails_bronze_61_70.html
kaba20170103

参考にしていただけると幸いです。またRails4の公式の模擬問題は、下記のURLより2016年10月26日の投稿をご確認頂きお申し込みください。
→ https://www.facebook.com/railscp/

今回は内容盛りだくさんでしたが、いかがでしたでしょうか?次のコラムは、ルーティングについて一緒に勉強していく予定です。寒い日が続きますが、体調に気をつけてお過ごし下さい。次回のコラムもお楽しみに☆


椛島千愛氏プロフィール

2016年度秋季採用にてフロイデ株式会社に入社しました、椛島千愛(かばしま ちあき)です。入社して3ヶ月目、プログラミング未経験の私がRuby on Rails4ブロンズ試験に本気で挑戦します!Ruby on Rails4ブロンズ試験合格までの軌跡をコラムとして今回執筆することになりました。これからブロンズ試験を目指す方にとって勉強方法など少しでもお役に立てれば幸いです。

フロイデ株式会社: https://froide.co.jp/

椛島千愛Facebook:  http://www.facebook.com/chiaki.kabashima0114

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次