Rubyによるプログラミング開発ではRuby on Railsが良く活用されています。
しかし、Ruby on Railsはどのようにインストールするのか、そもそもRuby on Railsとはなんなのかハッキリわからない人は多いでしょう。
そこで本記事ではRuby on Railsとは何か、インストール方法から開発事例やメリットを解説していきます。
自社でRuby on Railsを活用したいと考えている人は参考にしてください。
小中規模プロジェクトを中心にSEやコンサルとして活動。クラウド導入やスタートアップ、新規事業開拓の支援も経験しました。
Ruby on Railsとは何か?

Ruby on Railsとは、Rubyのフレームワークとして、開発者から広く知られています。フレームワークを知らないという方に簡単に説明すると、開発を簡単にし、効率よく開発を行うためのものです。
Ruby on Railsはベンチャー企業等によく利用されている技術です。SNS、マッチングサービス、ゲーム開発等の業務に使用されるフレームワークとしても人気であり、活用する範囲がとても広いフレームワークとして注目されています。
Ruby on RailsはRubyという言語のフレームワークとして覚えておけば良いでしょう。
Ruby on Railsは誰でも品質の高いフレームワークの成果物を作成でき、時間を効率的に使えるフレームワークでもあります。
Ruby on Railsは何ができる?できることの例

Ruby on RailsはWeb系のシステムやECサイトの構築、Webアプリケーション等、現代のネットワークサービスに必要とされているWebシステム開発において特にスピーディで管理が容易である為、これらのシステム開発にて多く利用されています。
各システムにおけるメリットと得意分野については下記の通りです。
Webサイト・ホームページ制作
Ruby on Railsでの得意分野である柔軟性やカスタマイズ性の高さ、修正の容易さにより、Webサイト及びホームページ制作でもよく利用されています。
Webサイト及びホームページ制作では、コーディングやシステム検証を行う際に、エラーが発生した箇所の特定が必要ですが、Ruby on Railsによるスクリプト言語により、エラーが発生している箇所の特定も容易になる為、Webサイト及びホームページ制作での得意分野になると言われております。
さらにブログやオウンドメディアによるWebサイト構築でも、上記のような修正のしやすさ、柔軟性の高さ、エラー原因の特定の速さにより、Ruby on Railsの得意分野とされております。
ECサイト制作
Ruby on Railsは、ECサイトでも様々な強みがあり、構築の際によく利用されています。
ECサイトでは主に会員機能やカートのシステム、ログイン機能や検索機能等、様々な機能が必要になっており、通常のプログラミングでは記載が複雑になってきます。
そこでRuby on Railsを使用すれば、効率的でない無駄なプログラミングを取り除き、必要なプログラミングを行うというRuby on Railsのメリットにより、より効率的なECサイトの構築が可能です。
ですのでECサイトで行う多様なシステム構築(会員機能やログイン機能等)でも、Ruby on Railsを使用すれば容易にECサイトの構築が可能というメリットがあります。
Webアプリケーション開発
Webアプリケーション開発でも、Ruby on Railsを使用する事によるメリットがあります。
Webアプリケーションは基本的に新規にオリジナルの開発を行うとなると0からのスタートとなる為、開発の難易度がかなり高くなります。
通常のWebアプリケーション開発では、ECサイトの構築同様に、仕様の落とし込みや設計を行ってからコーディングになると、様々なスクリプトの構成が必要となる為、だれがどのようなコーディングを行ったか、管理がとても難しくなります。
Ruby on Railsであれば、メリットであるMVCアーキテクチャによる管理により、どこをどのようなコーディングをしたかがわかりやすくなり、効率よくアプリケーションの開発が可能になります。
Webシステム・業務システム開発
Webシステムや業務システムでも、Ruby on Railsにより使用するメリットがあります。
先ほどご紹介したWebアプリケーション開発と似たようなメリットがあります。
Webシステム開発及び業務システムは、部分的に構築するものと、0から開発するものがありますが、Ruby on Railsは0から開発するWebシステムに向いております。
0から開発するWebシステムの場合、自由度の高さや管理の容易さにより効率的にシステムを構築でき、プロジェクトを上手く回すことが可能です。
MVCアーキテクチャによって管理を容易にし、Ruby on Railsの特徴である無駄なプログラムを必要としない規約による言語を利用することで、Webシステム開発を成功に導きます。
Ruby on RailsとRubyの違い

Ruby on Railsは先ほどご紹介させて頂きました、Webアプリケーションのフレームワークの事を指しておりますが、似たような名前で呼ばれているRubyというものとは少し違うものです。
| 比較項目 | Ruby | Ruby on Rails |
| 種類 | プログラミング言語 | Webアプリケーションフレームワーク |
| 用途 | デスクトップアプリ、Webアプリ、スクリプトなど | Webアプリケーション開発 |
| 特徴 | シンプルで読みやすい構文 オブジェクト指向 高い生産性 豊富なライブラリ |
Rubyの機能を強化 規約に基づく開発 開発効率の向上 DRY原則に基づく開発 |
| メリット | 習得しやすい 汎用性が高い コミュニティが大きい |
開発速度が速い 保守性が高い スケーラブル |
| デメリット | 処理速度が遅い場合がある メモリ使用量が多い場合がある |
学習曲線がやや高い 柔軟性に欠ける場合がある |
Rubyはプログラミング言語の一つです。
ただし、Ruby on RailsはRubyというプログラミング言語で作成されたフレームワークですので、関係性はあります。
Ruby on Railsは、一つの土台の上に、記載するべきプログラムを定義すればよいだけなので、Rubyのようなプログラミング言語のように、1から書く必要が無い為、とても作業効率の高いフレームワークとしての特徴があります。
Ruby on Railsのインストール方法

では、Ruby on Railsの概要や歴史等をご紹介したところで、Ruby on Railsのインストール方法をご紹介させて頂きます。
Ruby on Railsを使用する為には、Ruby及びRubygemsのインストールも必要ですので、そちらも併せてご参照下さい。
RubyとRubyGemsのインストール
まずRuby on Railsを動作させるには、言語となるRuby、及びRubyのプログラミング言語のパッケージ管理システムであるRubyGemsをインストールする必要がありますので、以下をご参照下さい。
1. Rubyのダウンロード
Rubyのダウンロードを行う為、Rubyインストーラーページから「Ruby+Devkit3.2.2-1(x64)」をクリックしてダウンロードを行います。
ダウンロードが完了したら、ファイルをダブルクリックしてインストール画面を開きます。すると英語でライセンスに同意しますかと聞かれますので、I accept the Licenseにチェックボックスをいれ、nextをクリックします。どのフォルダにRubyをインストールするか等が表示されますが、そのままinstallをクリックします。
インストールが完了したら、finishをクリックし、インストールを完了させます。
2. RubyGemsのインストール
次にRubyGemsをインストールします。一般的に「bundler」というパッケージをインストールします。
ファイル名を指定して実行欄に以下のコマンドを入力します。
コマンドプロンプトが表示されたら、以下コマンドを入力します。
するとGemsのインストールが始まるので、完了したら以下のコマンドを入力します。
これで「bundler version xxx」と表示されればインストールは成功です。
Ruby on Railsのインストール手順
では、Ruby on Railsのインストールをご説明します。まずは以下のURLにアクセスし、Ruby on Railsの最新バージョンの確認と、ガイドの確認をしておくとよいでしょう。
まずファイル名を指定して実行、実行後に開かれたテキスト欄に以下コマンドを入力してコマンドプロンプトを起動します。
コマンドプロンプトが起動したら、以下コマンドを入力してRuby on Railsのインストールを開始します。
インストールが完了したら、以下のコマンドでRuby on Railsのバージョン情報を確認します。
これでRuby on Railsのインストールは完了です。
必要な環境設定
Ruby on Railsのインストールが完了したら、ブラウザでRuby on Railsを使用する為、以下を実施します。
1. アプリケーションの新規作成
アプリケーションを新規作成する為、コマンドプロンプトから以下のコマンドを実行します。
※sampleAppは好きな名前で問題ありません。
すると指定したアプリケーションの名前のフォルダが生成されます。
2. サーバの立ち上げ
今度はサーバを立ち上げる為、以下のコマンドをコマンドプロンプトにて入力します。
すると文字列がコマンドプロンプト上にどんどん出力されていくので、完了するまで待ちます。
3. 環境構築
コマンドプロンプト上の出力がある程度停止したら、GoogleChromeなどのブラウザ上で、URL欄に
と入力します。するとブラウザ上にRailsの画面が立ち上がりますので、環境構築が完了となります。
Ruby on Railsの基本機能

Ruby on Railsは基本的に、同じことを繰り返していくコードの「設定」ではなく、一定の文字列で表現されるコードの「規約」と呼ばれる理念が存在します。
開発を行う際に、同じような要素が複数存在し、システムの構成の整合性が取れなくなり、管理が上手くいかなかったり、障害が発生する原因にもなる為、それを避けるための理念と言えます。
MVCアーキテクチャの説明

Ruby on RailsにはMVCアーキテクチャというものが存在します。
それぞれModel、View、Controllerの3つの要素が存在し、それぞれの頭文字をとってMVCと呼ばれます。
Modelはシステムのデータアクセスおよびアプリケーションの処理を担当します。
Viewはブラウザ上でページをどのように表示をするのかの定義を行うかの役割を担当します。
Controllerはユーザーが何を入力したかに基づいて、それに合った出力の仕方の制御を担当します。
MVCはそれぞれ役割分担を行っておりますので、開発を行ってコードを記載する際、管理がとてもしやすく、より効率よく開発を行い、他者からのプロジェクト管理も基本的に容易になります。
ルーティングの設定方法
Ruby on Railsのルーティングの設定方法は下記の通りです。
Ruby on Railsにて新規にアプリケーションの作成を行うと、ルーティングの設定について記載をするファイルが自動生成されます。
例えば
新規にアプリケーションを作成する為、ファイル名を指定して実行からコマンドプロンプトを開きます。
コマンドライン上で以下のコマンドを入力します。
すると多数のファイルが生成されます。その中に
というファイルも作成されます。
このファイルをテキストにて開き、編集する事によって、ルーティングの設定が可能です。
※操作ミスによってファイルを上手く動作させることが不可能になる可能性もありますので、バックアップを取っておく事をおすすめします。
ビューとテンプレートの作成
テンプレートの作成についてご説明いたします。
テンプレートのファイル名は、アクション名.html.erbと記載していくのが基本となります。
例えばRuby on Railsのアクションがhelloだった場合、hello.html.erbとなります。
<h2>hello>/h2>
<p>これがRuby on Rails</p>
とテキストファイルにて記載後、文字コードをUTF-8形式で保存します。
これを、
として保存してください。
これでテンプレートの作成は完了です。
※このテンプレートの作成も、データのバックアップを行ってから作業する様にして下さい。ファイルが破損してしまった場合、戻せなくなる可能性があります。
モデルとデータベースの操作
Ruby on Railsを使用して、rails new コマンドにて新規にアプリケーションを作成する場合、基本的にデータベースとしてSQliteを使用します。
Railsによるアプリケーションから、新しくデータベースを作成するときは、コマンドプロンプトからアプリケーションのルートディレクトリに移動し、以下のコマンドを実行します。
これによりdbディレクトリの中に、データベースが生成されます。
モデルの場合も同様に、Railsによるアプリケーションを生成したルートディレクトリに移動した後、以下のコマンドを実行します。
Rails generate model xxxx(モデル名)
実行すると多数のファイルが生成され、
配下にモデルのファイルが生成されます。
Ruby on Railsの学習方法

ここまでRuby on Railsについて、基本的な事からインストール方法、導入事例までご紹介しました。
これらを見て頂き、Ruby on Railsを学習して開発に携わってみたい、自分でオリジナルのWebアプリを作ってみたいという方もいらっしゃるかもしれません。
そんな方に以下の方法での学習方法をご紹介します。
プログラミングスクール
一番手っ取り早いのは、プログラミングスクールに通って学習する事です。
現在Ruby on Railsに限らずプログラミングの需要は高く、様々なスクールが存在します。
料金体系やレッスンの回数、サポート体制等、自分のライフスタイルにあったプログラミングスクールを選択する事ができます。
Ruby on Railsに限らずに、他のプログラミング言語を習得するのもいいかもしれません。
習得してしまえば内容にもよりますが、開発に携わる事が出来るかもしれません。
オンラインプログラミング学習サービス
現在はスクールに通って習得する事だけでなく、自宅からe-ラーニング等を利用して自宅からオンラインで受講できるスクールも存在します。
特に、仕事で忙しいサラリーマンの方や、学業で忙しくスクールに通う事が難しいという学生の方にお勧めできるプログラミングサービスと言えるでしょう。
Ruby on Railsに興味が出てきたけど、忙しくて通う時間がないという方は、休日を利用してオンラインで受講する事をお勧めします。
おすすめ書籍
Ruby on Railsを習得したいけど、プログラミングスクールに通ったり、オンラインで受講する時間やお金がないという方には、書籍を利用して独学で学習する事をお勧めします。
特におすすめな書籍は、ゼロからわかるRuby超入門という書籍です。

Rubyによる開発環境の構築から詳細まで丁寧に書かれておりますので、書籍で学習したいという方は購入してみるといいかもしれません。
コーディングについてもっと知りたい!という方は、スラスラ読めるRubyふりがなプログラミングをおすすめします。

公式ウェブサイトとドキュメント

Ruby on Railsには以下のURLに公式サイトが存在します。
こちらにアクセス頂くと、Ruby on Railsの導入においてのバージョン情報や、コミュニティから得た情報やノウハウについて紹介されておりますので、もしRuby on Railsを使ってシステム環境を構築中の方は、出来るだけ公式サイトをチェックする事をおすすめします。
また、公式によるブログやドキュメントも公開されており、仕様の詳細やバグのチェック、バグの修正情報等が網羅されておりますので、もしRuby on Railsにおいて不明な点があるのであれば、一度ブログとドキュメントを一読されるといいかもしれません。
Ruby on Railsのコミュニティフォーラム
Ruby on Railsの公式フォーラムにアクセスすると、Ruby on Railsにおけるディスカッションを行っているチームや、Ruby on Railsの疑問点や検証等、Ruby on Railsにおいてわからないことを一緒に解決しようとしてくれる、サポーターのような方々と連携する事が出来ます。
基本的に英語な為、内容を理解するのにある程度の英語力が必要ですが、もし困った事がある場合は、googlechromeの標準機能である日本語翻訳等を利用して調べてみるのもいいかもしれません。
掲示板のようにそれぞれのメンバーが困ったことや調べたい事を、スレッド形式でメンバーが参加し、質疑応答等のディスカッション等を行っております。
まとめ:Ruby on Railsは高速開発を実現できるフレームワーク

さて、これまでRuby on Railsについて一通りご説明及びご紹介させて頂きました。
Ruby on Railsを始めるには概要の理解、環境の構築、どのような開発をしたいか等が詳細に理解できている必要がある為、初心者にはハードルが高いかもしれませんが、一度理解すると、開発する際にどのような手順で行えばいいかといった、ビジョンが明確になります。
それにより、お客様からの依頼をどのような要件をヒアリングすればよいかも明確になるので、要件の定義から開発まで効率的に行う事が可能になります。
もし本記事をご覧の方で、開発をご検討中の方であれば、是非株式会社Jiteraへお問い合わせください。
お客様のご希望に沿った要件をご提案させて頂きます。

