Ruby on Rails入門!インストールして使ってみよう!

プログラミング
Ruby on Railsを使うと、WebサイトやWebベースの業務システムを効率良く開発できるようになる、と言われています。Ruby on Railsの開発環境の導入手順、Ruby on Railsでできること(params、bundler、image_tag、mysql、model、seed、controller)を解説します。
Ruby on Rails入門!インストールして使ってみよう!

今回は、Rubyのフレームワークである Ruby on Rails のインストール手順を説明します。
Ruby on Railsに含まれている幾つかの機能を紹介し、Ruby on Railsで何ができるのかをわかりやすく解説していきます。

Ruby on Rails インストール

本記事では、RubyのフレームワークであるRuby on RailsをWindowsにインストールする方法を紹介していきます。すでにRubyがWindowsにインストールされているという前提で話を進めていきますので、もしまだRubyがインストールされていない場合は、「WindowsのPCにRubyをインストールする方法」を参照してください。

では、早速Ruby on Railsをインストールしましょう!

インストール

まず、Ruby on Railsの公式サイトの内容を確認しましょう。Ruby on Railsの公式サイトは以下となります。

https://rubyonrails.org/

英語版となりますが、上部のメニュー「Guides」より、最新バージョンとガイドが参照できます。
では、Ruby on Railsのインストールを実施していきましょう。

手順1:コマンドプロンプトを起動します。

手順2:「gem install rails」と入力して実行し、Ruby on Railsをインストールします。

手順3:「rails -v」と入力して実行し、Ruby on Railsのバージョンを確認します。(2019年2月24日時点では「バージョン5.2.2」)

Ruby on Railsのバージョンが確認できたら無事にインストール完了です。特に難しい設定はありませんが、つまずいてしまった場合はダウンロードするところからやり直すと良いでしょう。

SQLite3ライブラリをインストール

Ruby on RailsはデフォルトのデータベースがSQLiteです。SQLiteを利用するため、SQLite3のライブラリをインストールし、SQLite3の実行ファイルとDLLをダウンロードします。

<SQLite3のインストール>

手順1:コマンドプロンプトを起動します。

手順2:「gem install sqlite3」と入力して実行し、SQLite3をインストールします。

<SQLite3の実行ファイルとDLL>

手順1:SQLite3の公式サイトへアクセスします。

https://www.sqlite.org/index.html

手順2:「Download」のメニューをクリックし、SQLite3のダウンロード用ページを表示します。

手順3:本記事作成にあたり、Windows10(64bit)環境で利用していますので、「Precompiled Binaries for Windows」の中にある「sqlite-dll-win64-x64-3250200.zip」をクリックし、DLLを任意の場所にダウンロードします。

手順4:Rubyをインストールしたディレクトリの「bin」ディレクトリに、ダウンロードした圧縮ファイルに含まれている「sqlite3.dll」を移動します。

手順5:次に先ほどと同じページの、「Precompiled Binaries for Windows」の中にある「sqlite-tools-win32-x86-3250200.zip」をクリックし、DLLを任意の場所にダウンロードします。

手順6:Rubyをインストールしたディレクトリの「bin」ディレクトリに、ダウンロードした圧縮ファイルに含まれている「sqldiff.exe」「sqlite3.exe」「sqlite3_analyzer.exe」の3つのファイルを移動します。

以上がRuby on RailsからSQLiteを利用するために必要となる手順となります。

Ruby on Rails を使ってアプリを作成し実行する

インストールが完了したところで、簡単なアプリケーションを作成してみましょう。

アプリの作成

Ruby on Railsの開発手法は、ゼロからアプリケーションを作成するのではなく、まずアプリケーションのテンプレートを作成し、その後テンプレートの必要な個所を修正する、という手順で開発を行います。

手順1:コマンドプロンプトを起動し、任意のフォルダに移動します。今回は、「C:\ddd\rails\」ディレクトリに移動します。

手順2:Ruby on Railsのコマンドを使ってアプリを作成します。書式は次のとおりです。

rails new アプリケーション名 [option]

今回は、sampleというアプリを作成します。
「rails new sample」とコマンドプロンプトに打ち込み、実行します。コマンドプロンプト上で、様々なファイルが作成されます。ファイルの作成が終わると「bundle install」が自動で実行され、アプリの作成が完了します。

bundlerを使ったライブラリの管理

bundlerとは、Gemの依存関係とバージョンを管理するためのツールです。

Rubyで使われるライブラリやアプリケーションはGem形式のパッケージで管理されています。
Ruby on Railsのアプリ開発を複数のPCで行なう場合、全てのPCで対象のアプリで使用するGemパッケージのインストール、またバージョンを揃える必要があります。これらのライブラリを管理するのが、bundlerになります。

bundlerでよく使うコマンドは、次の3つとなります。

(1) bundle init
gemをインストールするため各種インストールしたいgemを列挙したGemfileを作成するためのコマンドです。

(2) bundle install
作成されたGemfileをもとにgemをインストールするコマンドです。

(3) bundle update
インストールと同時に、gemに新しいバージョンがあれば更新するコマンドです。このコマンドを発行するとエラーが解決するということもあるので、覚えておきましょう。

MVC(モデル/ビュー/コントローラ)

Ruby on Railsでアプリを開発する上で重要となるMVCの概念について説明します。
まず、MVCとは何でしょうか?「Model(モデル)」「View(ビュー)」「Controller(コントローラ)」の略称になります。

(1) Model(モデル)の役割
モデルではデータの管理が主な役割になります。コントローラから受けた指示に従って必要なデータをデータベース(DB)から取り出し、コントローラへ情報を返したり、データベースに入力したり、特定の情報を別の情報に書き換えたりすることもあります。

(2) Controller(コントローラー)の役割
コントローラは、名前のとおり「司令塔」的な役割を果たします。モデルに対して、データの取り扱いについて指示を出します。また、ビューに対して、デザインやインターフェースについての指示を出します。

(3) View(ビュー)の役割
ビューには、デザインやユーザーインターフェースを管理する役割があります。コントローラから渡されたデータを利用してWebサイト上でどのように表現するのかビューで定義します。

規模の大きいアプリを開発する場合、今どの役割を持ったファイルを編集しているのか、つまり、MVCの構造を意識しつつ、開発を進めていく必要があります。

パラメータの取得方法(params)

Ruby on Railsでは、リクエスト情報(POSTでフォームから送信されたデータやクエリ情報)を、params[:パラメータ名]という形式で取得できます。

次の3つの受け渡し方法があります。

(1) リンクによるパラメータの受け渡し

View(ビュー)の設定

<%= link_to '会員', controller: 'users', action: 'show', id: u001, name: '山田太郎' %>

Controller(コントローラ)の設定

def show
 id = params[:id] #=> id = u001
 name = params[:name] #=> name = '山田太郎'
end

(2) フォームによるパラメータの受け渡し

View(ビュー)の設定

<% form_for @member do |f| %>
 名前:<%= f.text_field :name %>
 会社:<%= f.text_field :company %>
<% end %>

ビューによって表示されたフォームに、ユーザーが、名前:山田太郎、会社:山田株式会社と入力した場合、paramsには、次の値が格納されます。

params[:member][:name] #=> 山田太郎
params[:member][:company] #=> 山田株式会社

(3) クエリ情報をパラメータで渡し

http://localhost:3000/users/show?id=u001&name=山田太郎

上記のようなURLリクエストの場合、渡される値は以下となります。

params[:id] #=> u001
params[:name] #=> 山田太郎

paramsの詳細は、次のURLを参照してください。

http://railsdoc.com/references/params

Ruby on Railsにおけるデータベースとイメージ

データベース設定ファイル(MySQL用)

Ruby on Railsのアプリを作成すると、自動的に「database.yml」ファイルが作成されます。
デフォルトでSQLiteを使う前提で作成されるため、他のデータベースを使用する場合、アプリを作成する時にオプションでデータベースを指定します。

構文

rails new アプリケーション名 -d データベース

具体例:MySQLを使用する場合、次を指定します。

rails new mysql_app -d mysql

データベース設定ファイルの「config/database.yml」ファイルが作成されますので、テキストエディタで開いて、ホスト名、ユーザー名、パスワードの設定を行います。

初期データの投入(rake db:seed)

Ruby on Railsアプリで、テーブルやmodelを作成した後、テストを行うためのサンプルデータを、事前に追加する必要性が出てくることがあります。当然、初期データをデータベースに直接入力する方法もありますが、今回は Ruby on Rails で用意されている仕組みを紹介します。

Ruby on Railsアプリフォルダに格納されている「db/seeds.rb」ファイルを、テキストで開きます。このファイルに、モデルクラス、createメソッド、カラム名、値の順番に、データを追加してきます。

構文

モデルクラス名.create(:カラム名1 => 値1, :カラム名2 => 値2, ...)

具体例:モデルクラス名(FRUITS)、カラム名1(name)、カラム名2(color)

# coding: utf-8
FRUITS.create(:name => 'リンゴ', :color => '赤')
FRUITS.create(:name => 'みかん', :color => 'オレンジ')

スクリプトファイルを作成したら、コマンドプロンプトを起動し、次のコマンドを実行します。

rake db:seed

スクリプトが実行され、テーブルに初期データが追加されます。

イメージタグの作成(image_tag)

Ruby on Railsにおける画像を表示させる方法を解説します。

構文

image_tag(source, options = {})

具体例:sample.jpgというファイルを320x480のサイズで表示させたい。

<%= image_tag 'sample.jpg', :size =>'320x480' %>

この指定で、sample.jpg画像を、横320px、縦480pxに大きさを編集し、表示することができます。画像サイズ意外にも、「, :コマンド =>''」でいろいろ指定できますので、興味があれば調べてみてください。

参照URL: http://railsdoc.com/references/image_tag

まとめ

Ruby on Railsのインストール方法から、何ができるのかを解説しましたが、いかがでしたか?
Ruby on Railsを使って、WebサイトやWebベースの業務システムを効率良く開発していきましょう!

この記事のキーワードに関する勉強会・イベントを探す

TECH PLAYでは、ITエンジニア向けの勉強会・イベント情報を提供しています。
興味のある方はぜひご参加ください。


おすすめのコラム