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


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

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

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

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

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

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

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

Railsの環境開発

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

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

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

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

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

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

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

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

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

2. Gemの追加

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

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

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

必要な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を勉強しているにもかかわらず、そのような現状を抱えてしまうのか、一緒に考えていきましょう。

先が見えない現状を踏まえ、課題として考えられるものは以下のどれかに該当するでしょう。

  • プログラミングの上達が見えない
  • プログラミングを継続できない気がする
  • プログラミングスキルを習得した姿がイメージできない
  • プログラミングスキルを活かした仕事を獲得するイメージができない

これらのどれかに該当することによって、「なんとなくプログラミング学習をしている」という状態になってしまいます。

これらの要因は、三日坊主になる理論と同じなんですが、「プログラミング学習をしなきゃ」とプログラミング学習を頑張ってしまっている状態になってしまっています。

受験勉強をやった経験のある方なら頭がもげるほどに首を縦に振ってしまう方も多いのですが、「今日も5時間勉強するぞ」や「今日はこの章を終わらすぞ」というように、学習を進めることに意識が行き過ぎてしまうと、ある程度学習を継続した後に「先が見えない・・・」となってしまいます。

未来に光を当て、プログラミング学習を「成果が出るもの」にするために

先ほど、「なぜ先が見えないという悩みや不安を抱えてしまうのか」という疑問に対しての答えを示していきました。

これらの課題というのは、独学をしていれば9割の方がぶつかってしまう壁だそうで、いわば、あるあるの現象なのです。

独学をしていて、「なんか前に進めていないぞ」と感じるのはこのせいなんですね。甘く見がちですが、非常にやっかい。

これがさらにやっかいさを極めているのは、上記に挙げた課題のほとんどが、1人で解決できないものばかりだからです。

実は、これらのほとんどが経験者に助けてもらいながら解決しないと、すぐに違う方向へと流れてしまいます。

そう言い切れるのは、以前の私もそうだったからです。

エンジニアやプログラマー関連のキャリアに詳しい方や現役のエンジニアに相談しながら修正を加え、学習を実践して今があります。

そうは言っても、周りにそういう人がいないし・・・

という方もいるでしょう。そういう時にこそ、プログラミングスクールの無料体験レッスンを利用するのです。

営業をかけられて時間の無駄に終わるでしょ?

という考えに辿りついてしまいますよね。結論から言うと弊社では、そういった強引な営業等を行うことはありませんので、安心して受講できます。

「プログラミング学習の先ある未来」を光で明るく照らすには、弊社の無料体験レッスンがぴったりだと断言できます。それくらい無料体験レッスンに自信を持っているのです。

さらに、無料体験レッスンには以下の3大特典もついてきます!

  • 「最短1ヶ月で開発ができる学習方法」電子書籍(非売品)
  • 効率的なオリジナル学習カリキュラム
  • 未経験の転職(フリーランス)を可能にするキャリアサポート

上記の特典だけでも他のスクールにはないポイントだと自信を持っている無料体験レッスン特典です。

ただプログラミング学習をする毎日から、ワクワクしながらプログラミング学習できる毎日に変える体験を一度でいいのでしてみませんか?

無料体験レッスン予約はこちら

まとめ

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

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

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

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

かい

かい

日向徹かこよすぎか

[email protected]

おすすめコンテンツ

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

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