Laravel・PHP入門

未経験エンジニアがRuby on Railsを学習していましたがPHPerになったメモ

Ruby on Rails初心者がMVCについて整理する

この記事では、Ruby on Railsを用いて何かを作った時

どんな流れで何を作ってるのかを初心者なりに整理します。

 

イメージは

リクエス
→Routeでリクエストに対するController/action呼ぶ
→Controllerでaction呼ぶ→model→DBへデータ取りに行く
→modelが取ってきたデータをControllerに返す
→ViewもしくはViewなしでクライアントへレスポンス返す

f:id:fresh_engineer:20170727134141p:plain

 

こんな形のイメージです。
早速作ってみます。
 

rails new アプリケーション名(任意) [options]

 アプリケーションを作成するrails newコマンドです。
rails newコマンドによって、沢山のファイルとフォルダが作成されています。

まずはモデルを作成、

rails g model モデル名 #モデルは単数形で、1文字目が大文字

rails db:migrate 

 

次に、コントローラーとビューを作成します。

 

rails generate controller コントローラー名(任意) [options]
#コントローラーは複数形で、1文字目が大文字

例えばprojectsというコントローラー名でコントローラを作成します。
この時ビューも作成されます。

※ルールではありませんが、コントローラ名はリソース(操作対象のデータ)の
名前に沿って命名するのが望ましいそうです。
今回はprojectsテーブルを操作するためのコントローラであることを想定。

ここまで作成できれば、app/config/routes.rbのRouteを設定します。
詳しい設定の仕方は次回以降記載します。

routeを設定したら、

rake routes

ここで、リクエストに対してどのコントローラーのどのアクションが
呼び出されるか確認できます。下記が例。f:id:fresh_engineer:20170727230334p:plain