Ruby on Railsを嗜む:できることや、インストール方法を知る【Part1】

在宅で仕事を探し始めたのですが、UnityよりWebサービス系のほうが案件が多いので、久しぶりにWeb系エンジニアでも目指そうかと思って、とっかかりとしてRuby on Railsの勉強でもしようかなと思います。

言語はなんでもよかったですが、とりあえずやってみよかぐらいの感じで選択しました。

案件が多いので、触れるようになっておきたい

プログラム言語において、勉強をする動機があると思いますが、今回は本当にシンプルな理由で始めています。在宅関係の仕事をさらっと見たところ、本当に多いです。

相談したエージェントさんにも、Web系の仕事が多くて対応できる人を見つけるのが大変だと言っておりました。場合によってはVue.jsと組み合わせていたりもするのですが、まぁまずはRuby on Railsができないと話にならないと思うので、こっちから手をつけたいとおもいます。

Ruby on Railsにできること

Ruby on Railsの特徴や、これを使ったWebサービスを作った場合にいろいろとできることが多いみたいです。

ルーティング

&や=がたくさんついたURLではなく、きれいなURLを使うことができます。たとえば/members/1のようなわかりやすいパスで、特定の会員の詳細情報ページを呼び出せます。

データをリソースとして扱うことで、URLのパスとアプリケーションの関係が更にスッキリします

テンプレート

Railsでは、ビューをHTMLのテンプレートで作成します。HTMLの中に<% … %>を埋め込んで、Rubyのこd−をお記述したり、変数の値をそのまま出力したりすることが可能です。

マイグレーション

データベースのテーブルを定義するためにマイグレーション機能が用意されており、SQL文を書かずに済みます。データベースの作成や変更はrailsコマンドで簡単に行なえます

レコードの操作

データベースのテーブルにbirthdayというカラムがあるとします。@member.birthdayのような書き方で、カラムの値を取り出したり、新しい値を入れたりできます。レコードの取り出し、保存、削除と言った操作のためのメソッドも用意されています。(これ便利そうに見えますね)

バリデーション

テーブルにレコードを保存するときに、空の値を禁止したり、値が決まった書式に従うように指定したりできます。そうした指定を簡単な記述で書けます

個人的にはこの機能好きです。バリデーション書いてる人で個性が出ますし、どういったプログラムポリシーの現場なのかを見るには良い気がします。作るのが面倒だと思うか、これに救われたか、どう判断しているのか見ると面白そう

国際化

ブラウザに表示するテキストを言語別に用意することで、日本語や英語など複数の言語に対応したサイトを作成できます。

グローバルなページを作る場合はありがたいサポートですね

テスト

Railsには、自動テストの仕組みがはじめからサポートされています。自然な形でテスト駆動型開発を実践できます。

ゲーム系だと、デバッガーさんにプレイチェックするまえに色々とチェックできそうで便利な気がしますね。ありがたい

セッション

セッション機能を使って、サイトにアクセスしたユーザーの状態を保存できます。セッションを利用すれば、サイトにログイン機能を加えるのも簡単です。

モデル間の関連付け

2つのテーブルを結びつけたいときは、自然な形でそれぞれのモデルにアクセスできます。例えば会員とブログ記事を関連付けたいときは、ある会員の投稿した記事を@member.entriesのように表現できます。

うーん、これだけ聞くとPHPとかでもやれてることが便利になっているのかどうか判断難しいですね。わざわざ特徴としてるぐらいだから便利になってると思いたい。

クラウドストレージサービスとの連携

Amazon S3,Google Cloud Storage , Microsoft Azure Storageなどのクラウドストレージサービスへ簡単にファイルをアップロードし、ファイルを配信できます。

こちらは最近追加された機能らしいです。聞くだけだとかなり便利に思えますね

インストール(Mac)

開発環境のセットアップを行います。今回はMacに対してインストールを行います。Windows10の場合はわりと簡単にインストールできるらしいですが、家のPCがWindows7のため、おとなしくMacで開発することに

お品書き

MacでRuby on Railsを使えるようにするまでには以下の用意が必要になります

・Xcode
・コマンドライン・デベロッパ・ツール

・Homebrew のインストール
・rbenvのインストール(Ruby)
・Railsのインストール

Xcodeのインストール

MacへのインストールにはHomebrewというものを使ってインストールを行います。そのHomebrewを使うためにXcodeとコマンドライン・デベロッパ・ツールが必要になります。

XcodeのインストールはAppleのApp Storeからダウンロード・インストールを行うことが可能です。検索ボックスでxcodeと入力して、結果ページに表示されるものから入手してください。

Apple IDとパスワードが必要になる場合がありますので、したがって入力を行います。

コマンドライン・デベロッパ・ツールのインストール

RubyとRailsのインストールには、Xcodeだけでなく、コマンドライン・デベロッパ・ツールをインストールする必要があります。

インストールにはターミナルソフトが必要になりますので、アプリケーションから呼び出せるようにすると便利です。今後よく使うことになりますので、ショートカットに登録や、ドックなどに入れてすぐに呼び出せるようにしておきましょう

xcode-select --install

コマンドを入力するとダイアログが表示されると思いますので、インストールを選択して進めてください。

Homebrewのインストール

HomebrewでRubyをインストールする場合、以下のサイトにアクセスしてください

Homebrew
https://brew.sh/

ページを表示すると、画面下にインストール用のコマンドが表示されていますので、コピーしてターミナルに貼り付けて実行してみてください。

/usr/binとかってところの行がコマンドになります。

インストールが開始されると、パスワードが求められると思いますので、入力してください(PCのパスワード)

rbenvとruby-buildのインストール

Homebrewを使ってrbenvをインストールします。rbenvは複数のバージョンのRubyをインストールして、切り替えることができるツールです。rbenvに必要なruby-buildもインストールします。以下コマンドで、rbenvとruby-buildを両方インストールすることが可能です。

brew install rbenv ruby-build

うまくインストールができない場合

以下のようなエラーでインストールができない場合は、以下のような方法で対処可能かもしれません。

PCの名前:~ ユーザー名$ brew install rbenv ruby-build
Updating Homebrew...
==> Installing dependencies for rbenv: ruby-build
==> Installing rbenv dependency: ruby-build
==> Downloading https://github.com/rbenv/ruby-build/archive/v20181225.tar.gz
curl: (52) Empty reply from server
Error: An exception occurred within a child process:
  DownloadError: Failed to download resource "ruby-build"
Download failed: https://github.com/rbenv/ruby-build/archive/v20181225.tar.gz

ダウンロードに失敗している状態なのですが、一度プラウザなどにダウンロードするURL(上記だとhttps://github.com/rbenv/ruby-build/archive/v20181225.tar.gz)を入力してダウンロード自体に問題がないか確認してみてください。

問題なくダウンロードできることを確認してから、再度インストール用のコマンドを打ち込んでみると、できることがあります。(民間療法みたいな感じで申し訳ない・・・)

rbenvの初期化コマンド実行

ターミナルを開くたびにrbenvを初期化するコマンドが自動的に実行されるように、次のコマンドで.bash_profileファイルに「eval “$(rbenv init -)"」を書き加えます。

echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

書き込みができたかどうかを確認する場合はcat ~/.bash_profileで確認してみてください。

初期化が行われるのは次回のターミナル起動後になるので、即反映させる場合は以下のコマンドを打ち込むことでも有効になります。

source ~/.bash_profile

Rubyのインストール

次のコマンドでRuby2.5.1をインストールします。

rbenv install 2.5.1

成功した場合はrbenv versionでインストールされたバージョンの確認を行えます

PC名:~ ユーザー名$ rbenv versions
* system (set by /Users/ユーザー名/.rbenv/version)
  2.5.1

インストールができたのを確認したら、次は使うバージョンを指定します

PC名:~ ユーザー名$ rbenv global 2.5.1
PC名:~ ユーザー名$ rbenv versions
  system (set by /Users/ユーザー名/.rbenv/version)
* 2.5.1

先程はsystemの前に*マークがありましたが、それが2.5.1の前に移動していたらOKです

実際にRubyのバージョンが変更されたかどうかも確認しておきましょう

PC名:~ ユーザー名$ ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin17]

こんな感じになっていればOK

Railsのインストール

今回は、バージョンを指定してからインストールを行います。-Nをつけることでドキュメント作成を省略します(インストール時間短縮のため)。必要があれば、オプションを外したインストールでもOKです

gem install rails --version "5.2.0" -N

インストールが完了するとrailsコマンドが使用可能になります。インストールされたバージョンが指定通りか確認してみましょう

PC名:~ ユーザー名$ rails -v
Rails 5.2.0

この表示がされれば問題ありません

railsディレクトリの作成

ターミナルで次のコマンドを実行し、ホームディレクトリの下に、railsというディレクトリを作成します。チルダ記号(~)はホームディレクトリを示します。

mkdir ~/rails

ホームディレクトリにrailsというフォルダが作成できていれば成功です。勉強時はアクセスしやすい場所にワークスペースを作っておくと便利ですよ。

まとめ

流行りの言語ぐらいはちゃちゃっと習得したいぐらいの気持ちではじめましたが、特徴だけ見るとかなり簡単にいろんなことができる設計なんですね。

インストールもMacならかなり簡単にできますね。途中ダウンロードで少し詰まりましたが、ブラウザでダウンロードすると、ターミナルでのダウンロードがご機嫌になる理由はわかりませんでしたが、まぁいっか。

次回は実際に何かを表示するところまでやってみる予定です。