スライドショー

Ruby on Railsで開発するには?具体的な開発の流れを一から解説


Railsの開発ってどのような手順で行われるのだろう
Railsの開発の流れをざっくり確認しておきたい
その時付随するコマンドなどについてもしりたい

Railsを始めたての方の中には上記のように思っている方も多いのではないでしょうか?

こんにちは!現役でRailsで開発を行なっているかいです。

今日は、Railsの開発手順をざっくり理解したいという方のために現役エンジニアである僕がその手順を説明して行こうと思います。データベースが必要だったり、ケースによってもちろん処理が追加されたり順序が前後することもありますが、大体の目安としてこんな感じで開発していくんだ、ということを分かってもられば幸いです。

本来の開発ではGitでの運用なども必須となってきますが、開発の手順とは別物なので今回は割愛します。

この記事はこんな人のために書きました。

  • Railsの開発の流れを一通り確認したい
  • 各工程でどのようなコマンドが主要なのか一目で確認したい
  • その時のコマンドがどのように働くのかも理解しておきたい

Railsの環境開発

まずは、開発手順とは違いますがRailsの環境を構築しないことには始まりません。環境構築にもいくつかやり方があって、実は結構難しかったりします。

個人個人の環境やバージョンによって差異がでることもありますが、この差異をなくすためには仮想環境を使って環境構築を行うことが一般的ですね。RailsのTutorialでも推奨されています。

これは以下の記事でとてもわかりやすく紹介されているので環境構築から始めるという方は参考にしていただければ幸いです。

初心者でもかんたん!Ruby on Rails の開発環境の構築手順(Mac/Windows 両対応)
更新日 : 2020年3月2日

1. アプリケーションの作成

さて、環境が整ったらそれは実際の開発手順を見ていきましょう。まずは、アプリケーションの作成を行います。

利用するコマンドは以下です。

rails new アプリケーション名

このコマンドを行うことで必要なファイルなどを全て生成してくれます。実際に行って見ましょう。

rails new myapp

すると様々なファイルが自動で作成されているのではないでしょうか?これらはフォルダ配置などにも意味があるのでむやみにいじらないようにしましょう。

2. Gemの追加

さて、Railsの雛形を作った後は、必要なGemを追加していきましょう。GemとはRubyのパッケージ管理ですが、こちらに必要なライブラリなどを記述しておくことで開発がスムーズに行えます。

ここらへんは流れというよりは細かな内容になってしまうので詳しく知りたい方は以下を参考にして見てください。

【Rails入門】初心者が知っておくべき3つのgem
更新日 : 2020年3月2日

必要なGemをGemfileに書き込んだら以下のコマンドより一斉にインストールしていきましょう。

bundle install

本記事では割愛しますが、DBなどの設定なども行ったのち、以下コマンド打つと実際にWebアプリケーションとして動作します。

rails server

このような画面が表示できれば成功です。splite3系のエラーが出る場合はDBのバージョンが悪いのでgem 'sqlite3', '~> 1.3.6’とGemfileに記載してbundle installをし直してみてください。

3. モデルの作成

次にモデルを作成していきましょう。モデルとは、データベースとのやりとりを行うクラスのことでMVCモデルのMに当たりますね。

本記事ではテストとしてTestテーブルを作成してみます。コマンドは以下の通りで一文字目は大文字で始めることに気をつけましょう。また、複数形も禁止されているので単数名をつけましょう。

rails generate model Test

作成したら、mode/migrateに進んで以下コマンドを実行しましょう。

rake db:migrate

本記事では開発の流れを説明するだけなのでテストデータを流し込んだりはしませんが、実践的にどのように使うかなどは以下の記事を参考にしていただければ幸いです。

4. コントローラの作成

次はコントローラの作成をしていきます。コントローラとは実際に返す内容を決めるための処理を行います。

コントローラの作り方は以下の通りです。

rails generate controller  Greeting sayhello saygoodmoring

無事実行されると、app/controllers以下にファイルができているのでみてみましょう。

class GreetingController < ApplicationController
  def sayhello
    
  end

  def saygoodmoring
  end
end

このようになっていますね。実際に以下のように処理を追加しておきましょう。

class GreetingController < ApplicationController
  def sayhello
    render html:"hello!"
  end

  def saygoodmoring
    render html:"goodmorning!"
  end
end

この内容について次章で説明するので深く考える必要はありません。コントローラについて詳しく学びたい方は以下記事を参考にしてみてください。

5. ルーティングの作成

次にルーティングの設定をしていきます。ルーティングとは簡単に言うとこのURLに来たらこの処理をしてくださいと言う部分のURLと処理を紐づける役割です。

ここで言う処理とはコントローラに書いた内容のことですね。実際にはconfing内のroutes.rbにはその処理を書いていきます。

Rails.application.routes.draw do
  get 'greeting/sayhello'

  get 'greeting/saygoodmoring'
end

実はコントローラを作った際にある程度ルーティングは自動生成されているのですでにroutes.rbにはこのような内容が書かれていますね。これは、コントローラと紐づいていて、greeting/sayhelloというURLにきたら、greeting_controller.rbのsayhelloメソッドを実行するということになっています。

実際にrails severを立ち上げた状態で'http://localhost:3000/greeting/sayhello'にアクセスしてみると以下のようになっていますね。これはrender html:"hello!”部分がhelloという文字を返していることを表しているためです。

ちなみに'http://localhost:3000/greeting/saygoodmoring'にいくと以下のようになりますね。

ルーティングについての詳しい内容は以下の記事を参考にしてみてください。

6. ビューの作成

さて、先程は直接"hello"や"goodmornig"という文字を返しましたが実際のプログラムはそんな単純ではありませんよね。ビューは実際の画面のことで.erbというファイルに書くのが一般的です。erbとはHTMLのRuby版と思っていただければ良いでしょう。

これもコントローラを作成した時にapp/views以下に自動で作成されます。なので以下のようにコントローラを変えてあげるとviewsを参照してくれます。

routes.rb

class GreetingController < ApplicationController
  def sayhello
    render "greeting/sayhello"
  end

  def saygoodmoring
    render "greeting/saygoodmoring"
  end
end

このようにRailsは自動で必要なものを作成してくれ、またファイル構造などが決まっているのでルールに則って行えば余分な記述をしなくてもよいことから慣れれば開発スピードがとても早いことがわかりますね。

7. デプロイ

この章はRailsと直接関係があるわけではないですが、実際にローカル環境で開発したのちサーバにアップするまでが開発の流れとなります。本番環境にアップすることをデプロイと呼びます。

以下記事にHerokuへのデプロイ方法がまとめられているのでデプロイに興味がある方は参考にしてみると良いでしょう。

まとめ

いかがでしたでしょうか。Railsの開発の流れを説明してきました。

それぞれについて詳しく知りたい方はリンクを参考にしていただければ詳しく理解できると思います。作成の順番などが前後することはもちろんありますが、実際の作成から開発、デプロイまではこのような雰囲気で進んでいくので流れは掴めたのではないでしょうか。

Railsは慣れれば開発コストが低いのでこれを機に是非Railsを学んでみてはいかがでしょうか!それでは!!

LINEで送る
Pocket

ITエンジニアへ転職したい方におすすめ

自分を評価してくれる企業に転職して年収を上げたい! 自分のスキルにあった独自案件を知りたい!
エンジニアは今もっとも注目されている職業の1つ。エンジニアになって年収を増やしたい方や、あなたのスキルに見合った企業へ転職したいエンジニアの方も多いですよね。

しかし、大手の転職媒体は扱う求人数が多くても、誰もが登録しているので競争率もかなり高くなっています。そのため、あなたの条件に見合った企業を見つけても転職するためには、相応の努力とスキルが必要となります。

こういった媒体では、未経験からエンジニアを目指す方やエンジニア歴2〜3年で転職を考えている方にとって、最適な転職環境とはいえません。

そこでオススメしたいのが、未経験者や若手エンジニア向けの独自案件を多く掲載している「侍ワークス」です。

侍ワークスは、独自案件を多く掲載しているだけでなく、

・応募から就業まで一貫したサポート

・就業後もアフターフォロー

といった経験の浅い方や初めてエンジニアを目指す方にも安心のフォロー体制が整っています。もちろん登録は完全無料!しかも案件を見るだけなら登録も不要です。

まずは、お気軽にどんな求人があるか見てみてください。あなたにピッタリの企業がきっと見つかりますよ! 侍ワークスの求人情報を見る

書いた人

かい

かい

日向徹かこよすぎか

[email protected]