Ruby on Rails入門の9つの手順|おすすめの学習サイト7選も紹介
- システム
エンジニア - Ruby on Railsとはどんなプログラム言語ですか?
- プロジェクト
マネージャー - Rubyというプログラム言語で記述されたWebアプリケーションのフレームワークです。
Ruby on Railsとは?
Webサイトを開発するにあたって、プログラミング入門者にとっても学習しやすく、注目を浴びている「Ruby on Rails」があります。
「Ruby on Rails」とは、Rubyというプログラミング言語で記述された、Ruby環境で動く、Webアプリケーションのフレームワークです。
Ruby on Railsフレームワークを使用することによって、Webアプリケーションを他の言語やフレームワークよりも容易に開発することができるようになります。
また、Rubyは「Enjoy for Programing!」という理想を掲げており、エンジニアが楽しんで実装できるように直感的な記述ができるような工夫がされており、楽しくストレスフリーで開発をすすめることができます。
Ruby on Railsは「GitHub」や「Cookpad」、「Airbnb」のような、多くの有名なサイトにも使われており、人気があります。
RubyとRuby on Railsの関係
Ruby on RailsのRubyとは、プログラミング言語の1つです。シンプルで短いコードで書くことができるので入門者におすすめです。
オブジェクト指向の特徴を活かしたプログラミング言語となっており、大きなWebアプリケーションから小さなものまで扱うことが可能です。
Ruby on Railsは、RubyのWebアプリケーションのフレームワークです。つまりRuby on Railsはブラウザを介してサービスを提供する仕組みをフレームワークを使って効率よく開発するツールのことで、このプログラミング言語がRubyで作成されています。
フレームワークとは?
フレームワークとは、より効率的にWebアプリケーションを開発するための骨組みのことです。
フレームワークによってシステムの枠組みが用意されていることで、必要最低限のプログラムを書くだけでWebアプリケーションを開発することが可能になります。
Ruby on Railsに入門する前の基礎知識4つ
Rubyには短くてシンプルなコードでプログラミングできるという特徴があり、Rubyを使用したフレームワークであるRuby on Railsもコード入力を簡潔に済ませるという考え方に基づいて構築されています。DRYやCoCがその思想を表しています。
ここでは、DRYやCoCのようなRuby on Railsに入門する前に知っておくべき基礎知識を4つ紹介します。
1:DRY(Don’t Repeat Yourself)
「DRY(Don’t Repeat Yourself)」とは「同じことを繰り返さない」という意味です。
Ruby on Railsには、開発をする上でプログラム中に同じようなコードが出てくることは無駄であるため、できるだけ避けるようにといった考えがあります。
同じコードを何度も書くことを避けることにより、コードが保守しやすく、さらにはメンテナンスしやすくなり、容易にプログラムを拡張でき、バグを抑えることができます。
2:アーキテクチャ
Ruby on Railsは、MVC(Model-View-Controller)パターンというアーキテクチャを採用しています。
MVCパターンとは、アプリケーションのデータを扱う「Model」と、ユーザーインターフェース「View」、ModelとViewの制御を行う「Controller」に分割して作り上げるというものです。
大まかな流れとして、「Controller」がクライアントから受け取ったリクエストを受け取り、その後「Model」からビジネスロジックを呼びだし、結果を受け取ります。そして「Controller」は受け取った結果を「View」に引き渡します。
3:CoC(Convention Over Configuration)
「Convention Over Configuration」とは、「設定より規約」という意味です。
Webアプリケーションの各種設定について、従来の経験や慣習を元に、デフォルトの値が設定されており、開発者がアプリケーションの設定を深く考慮する必要がなくなります。
このように、Ruby on Rails 側であらかじめ開発における決まりがあるため、開発者はその規定に従うことによって、余計なコードを記述する必要がなくなり、設定が簡易化され、開発スピードをあげることができます。
4:開発環境
Ruby on Railsの開発環境として必要なものは、Ruby、データベース、Railsパッケージ、デバッガ、エディタの5つになります。
デバッガはプログラムを実行した時にどの部分でエラーが発生しているのか詳細に確かめるためのツールです。
エディタは、パソコンのOSがWindowsの場合は「メモ帳」、Macの場合は「テキストエディット」が標準品として用意されていますが、コーディングに適したエディタを用いてください。
デバッガとエディタは開発の効率をよくするために使います。
Ruby on Rails入門の9つの手順
Ruby on Railsを使ったWebアプリケーション開発入門のための9つの手順について紹介します。
RubyやRuby on Railsのインストールから新規アプリケーションの作成、モデル、コントローラ、ルーティングやビューの作成、サーバーの起動について1つ1つ見ていきます。
1:Rubyをインストール
Ruby on Railsに入門してアプリケーションの開発を行うためには、まずプログラミング言語であるRubyをインストールする必要があります。
RubyはmacOS、windows、Linux/UNIXごとにそれぞれのインストール方法があります。
Windowsを使用している場合であれば、RubyInstallerをダウンロードして実行することでRubyの開発環境をセットアップできます。macOSの場合は、標準でインストールされているパソコンもあります。
インストールするRubyのバージョンは公式サイトに安定版としておすすめされているものを選ぶのがいいでしょう。
2:Ruby on Railsをインストール
Rubyのインストール後、Ruby on Railsをインストールします。
Ruby on Railsのインストールには、Rubyの他にSQLite3、Node.js、Yarnが使用しているパソコンにインストールされている必要があります。
SQLite3やNode.js、Yarnがインストールされているかどうかは、macOSであればターミナル、Windowsであればコマンドプロンプトを使って確認できます。インストールされていない場合は、それぞれの公式サイトからダウンロードします。
SQLite3やNode.js、Yarnのインストールを確認後、Ruby on Railsのインストールを行います。
1
|
gem install rails
|
Ruby on Railsのインストールはターミナルもしくはコマンドプロンプトで上記のコマンドを実行します。インストールされたRuby on Railsのバージョンは以下のコマンドを実行することで確認可能です。
1
|
rails —version
|
3:アプリケーションの新規作成
Ruby on Rails入門の開発手順として、まずアプリケーションの新規作成を行います。
こちらのコマンドを使うと必要なファイルを作成してくれます。
rails new「アプリケーション名」
例えば、「アプリケーション名」に「myapp」と入力します。
rails new myapp
様々なファイルが自動で作成されます。作成されたファイルの配置には意味があるのでむやみに変更したりしないように注意が必要です。
4:Gemを追加
Ruby on Rails入門の開発手順の次は、Gemを追加していきます。
こちらのコマンドを入力してインストールします。
>bundle install
データベースなどの設定を行い、次のコマンドを打つとwebアプリケーションとして動作します。
>rails server
正常に設定出来たら、「Welcome aboard」の画面が表示されます。もしエラーが出たら、データベースを修正するなどして何度が試してみましょう。
5:モデルを作成
Ruby on Rails入門の開発手順の次は、Modelを作成します。
テストとして「test」テーブルを作成してみましょう。
コマンドは、次のようになります。
>rails generate model「モデル名」
「モデル名」と書いてある部分に「test」と入力します。
>rails generate model test
気を付ける点としては、「モデル名」は複数形にしないようにすることです。必ず単数形で作成してください。
6:コントローラを作成
モデルの作成後、コントローラを作成します。コントローラを作成することで、モデルやビューを制御できます。
1
|
bin/rails generate controller ”コントローラ名”
|
コントローラは上記のコマンドで作成します。コントローラ名の後にアクションを複数指定することも可能です。
1
|
bin/rails generate controller ”コントローラ名” ”アクション” ”アクション2”
|
7:ルーティングを作成
次にルーティングを作成します。ルーティングを作成することで、リクエストを受けた特定のURLに対してコントローラで設定したアクションを関連づけられます。
コントローラを作成した際にルーティングは自動で生成されていますが、ルーティングの作成は次のコマンドで行います。
1
2
3
4
|
Rails.application.routes.draw do
”任意”
end
|
任意の部分に以下のコマンドを入力すると、sampleと名付けたコントローラのaction1を実行した結果を表示させることができます。
1
2
|
get’sample’, to:’sample#action1’
|
8:ビューを作成
ビューもルーティング同様、コントローラを作成した際に自動で生成されます。
手動で作成する場合にはapp/views/コントローラ名のディレクトリに、app/views/コントローラ名/アクション.html.erbというファイル形式で作成します。
作成したファイルに表示させたい内容をコード記入します。Ruby on Railsにはページのレイアウトを行う機能があるため、コード記入の際にhtmlタグやheadタグの記述は必要ありません。
9:サーバーを起動する
Ruby on Rails入門での開発はローカル環境で開発したアプリをサーバーにアップするまでが重要です。
サーバーにアップ出来ずに挫折することも多くあります。
難しいサーバーの設定などを代行してくれるレンタルサーバーサービスの「Heroku」などを使うと簡単にアプリケーションを公開することが可能です。
Ruby on Rails入門の学習手順3つ
Ruby on Railsに入門するにあたって、Webサイトの作成に必要なHTMLやCSS、Ruby on Railsに使用されている言語であるRubyについては学んでおいた方がいいでしょう。
これらの知識をある程度身につけてからRuby on Railsの学習を始めることで、より効率的にWebアプリケーションの開発を行うことができます。
1:HTML・CSSをマスターする
Webサイトの作成の基本となるのがHTMLとCSSです。
Webサイトがどのようにして成り立っているのか、HTMLやCSSでの記述がWebサイトにどのように反映されるのかを理解することがWebアプリケーション開発には必要です。
2:Rubyをマスターする
HTMLとCSSに関する知識を身につけた後は、Rubyを学習します。
Ruby on Railsはプログラミング言語のRubyを用いたフレームワークのため、Rubyについての理解が不可欠です。
3:Ruby on Railsの学習を始める
HTMLやCSSを学び、Webサイトの基本を身につけ、Rubyの文法や構文に関する学習した後、Ruby on Railsの学習を始めます。
基礎をしっかりと学んでからRuby on Railsの学習を始めることで、Webアプリケーションの開発を円滑に進めることが可能になります。
Ruby on Rails入門者におすすめの学習方法3選
初めてRuby on Railsを学習する際、入門者向けの書籍を使った独学や勉強会やセミナー等師事してくれる人がいる場に出向く方法、学習サイトの活用がおすすめです。
これら3つの学習方法を1つずつ紹介します。
1:参考書を使う
初めてRuby on Railsを学習する方法の1つとして、購入した参考書に沿って独自に学習を進めるというやり方があります。
Ruby on Railsの本であれば、気になった項目を1つ1つ検索することなく、一貫して学習を進めることが可能です。
2:勉強会やセミナーに参加する
勉強会やセミナーに参加することでも、Ruby on Railsの学習はできます。
勉強会やセミナーでは現役のプログラマーが参加していることが多く、独学でつまずきやすい部分でも経験者に質問することで解決することができます。また、同じようにRuby on Railsについて学習している人との交流を持つこともできます。
3:学習サイトを活用する
Ruby on Railsは学習サイトを活用することで身につけることができます。
学習サイトには無料や有料のもの、様々な種類がありますが、参考書のように段階的な学習内容が用意されていたり、勉強会のように現役のプログラマーに質問できたりするサイトもあります。
Ruby on Rails入門者におすすめの学習サイト6選
ここではRuby on Railsをこれから始める際におすすめの学習サイトについて紹介します。
サイトごとの特徴を知ることで、自分の学習の進め方にあったサイトを利用することができます。
1:Progate(プロゲート)
「Ruby on Rails5|Progate(プロゲート)」では、プログラミングをゲーム感覚で学習できるサイトです。
この「Ruby on Rails5」というコースでは、Webサイトを作り上げるまでの手順をゲーム感覚で学ぶことができ、非常にわかりやすいため、学習を始めたばかりの場合は一通りやってみることをおすすめします。
2:ドットインストール
ドットインストールは、動画を見ながらプログラミングを学ぶことができる学習サイトです。
ドキュメントを読んで学習することが苦手なタイプの人は、このドットインストールというサービスを活用して学習を進めることをおすすめします。
3:Ruby on Railsチュートリアル
「Ruby on Railsチュートリアル」は、webサービスを作りながら学んでいくチュートリアルの方法が紹介されており、Ruby on Rails入門者に最適な入門サイトです。
Ruby on Railsに関する解説動画や質問対応も提供されており、早く学びたいと考えている方におすすめします。
Ruby on Railsを企業の社員研修や大学などの教育機関で活用する提案もされています。
4:20分ではじめるRuby
Rubyの公式サイトに掲載されているチュートリアルが「20分ではじめるRuby」です。
短時間に無料でRubyの基本を学ぶことができます。簡単な構文についての紹介しかされていませんが、Rubyを実際に使用する1つの方法です。
5:paizaラーニング
paizaラーニングはRubyの開発環境を自前で構築せずに、学習できるサイトです。
カリキュラムに沿った動画を視聴し、演習として実際にコーディングの練習が可能です。有料プランでは講座の内容についてエンジニアに質問することもできます。
6:Rubyがミニツク
Rubyがミニツクは無料で利用できる学習サイトです。
Ruby演習コース、Ruby入門コース、Ruby on Rails入門コースなど、Rubyについて細かくカリキュラムが分かれているため、自分にあった内容を学習できるという特徴があります。
コースごとに演習が用意されているため、学習した内容をその場で復習できます。
- システム
エンジニア - とても需要が高まっているのですね。
- プロジェクト
マネージャー - はい。とても短期間での開発ができるので、近年とても需要が高まってきている注目のプログラム言語です。
実際にRuby on Railsを使ってみよう
Ruby on Rails入門者に向けて、その設計哲学や、アーキテクチャ、参考になるWebサイトについて紹介してきました。
Ruby on Railsは、Webサイトを開発する上で、開発効率をあげることができ、規約が用意されていることによって、開発者が考える必要があることが抑えられているため、入門者にとって非常に扱いやすいフレームワークです。
ぜひRuby on Railsに入門してみてください。
FEnet.NETナビ・.NETコラムは株式会社オープンアップシステムが運営しています。
株式会社オープンアップシステムはこんな会社です
秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
数多くのエンジニアが集まります。
-
スマホアプリから業務系システムまで
スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。
-
充実した研修制度
毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。
-
資格取得を応援
スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。
-
東証プライム上場企業グループ
オープンアップシステムは東証プライム上場「株式会社オープンアップグループ」のグループ企業です。
安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。
株式会社オープンアップシステムに興味を持った方へ
株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。
年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。
Ruby新着案件New Job
-
RedmineプラグインおよびWEB開発/Ruby/東京都中央区/【WEB面談可】/在宅勤務
月給65万~65万円東京都中央区(新富町駅) -
Webアプリケーション運用保守/Ruby/東京都江東区/【WEB面談可】
月給50万~60万円東京都江東区(亀戸駅) -
Webアプリケーション開発(既存機能改修)のテスター/Ruby/東京都江東区/【WEB面談可】
月給25万~35万円東京都江東区(亀戸駅) -
Webアプリケーション開発(既存機能改修)/Ruby/東京都江東区/【WEB面談可】
月給45万~60万円東京都江東区(亀戸駅) -
Ansibelの自動構築/Ruby/東京都台東区/【WEB面談可】/テレワーク
月給46万~48万円東京都台東区(浅草駅) -
会計ワークフローの開発/Ruby/東京都新宿区/【WEB面談可】/フルリモート
月給46万~48万円東京都新宿区(新宿駅)