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の公式サイトは以下となります。
英語版となりますが、上部のメニュー「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エンジニア向けの勉強会・イベント情報を提供しています。
興味のある方はぜひご参加ください。