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


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

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

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

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

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

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

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

Railsの環境開発

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

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

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

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

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

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

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

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

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

2. Gemの追加

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

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

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

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

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

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

3. モデルの作成

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

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

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

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

4. コントローラの作成

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

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

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

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

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

5. ルーティングの作成

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

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

実はコントローラを作った際にある程度ルーティングは自動生成されているのですでに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

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

7. デプロイ

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

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

まとめ

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

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

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

未経験者でも安心の徹底サポート!まずは完全無料の体験レッスン!

「プログラミングに興味があるけど未経験だし、、、」とお悩みの方はご安心ください。

  • 24時間質問し放題
  • あなただけのオーダーメイドカリキュラムで学習の効率化
  • 仕事獲得方法からオリジナルアプリ開発方法

侍エンジニア塾では徹底したサポートによる「オーダーメイドカリキュラム」を作成しています。

まずは無料体験レッスンで、「挫折しない学習方法」や「あなただけの学習ロードマップ」を知り、学習の効率化をしましょう。独学の難点である「オリジナルアプリの作り方やエラーの対処法」についてもアドバイスさせていただきます。

詳しいサービス内容は、下記よりご参照ください。

cta_mtm1

LINEで送る
Pocket

書いた人

かい

かい

日向徹かこよすぎか

[email protected]

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説