Rails復習

なぜオブジェクト指向が必要か?などRubyから入った人全員にオススメだと思う書籍

Javaで書かれていますがここ数年で1番素晴らしい本だと思いました。 Rubyの入門本は分かってる前提で書かれていることが よくわかりました。何度も復習したいと思います。 Javaもやってみたいですね。

MVCモデル

f:id:shiness:20210116131952p:plain

  • URLとHTTPメソッドを受け取って Controller に渡すのが、Router
  • リソース(データ)として振る舞うのが、Model
  • Model を表示・整形する雛形がView
  • Model や View を制御するのが、Controller

開発の流れ

1.Model

2.Router

3.ルーティング毎に

4.Controller

5.View

f:id:shiness:20210116133503p:plain

Router に書かれた1つのルーティングが、複数の Controller の1つのメソッド(アクション)に相当し、 Controller の1つのメソッド(アクション)が1つの View ファイルに対応する。

redirect_to と render の違い

redirect_to 処理を アクションへと強制的に移動させるもので、 アクションが実行されhtml.erb が呼ばれます。renderはhtml.erb を表示するだけ(アクションは実行しない)。

flashflash.now の違い

いつ使用するかの基準としては、 redirect_to の前なら flash であり、render の前なら flash.now です。 理由は、redirect_to は、HTTP リクエストを発生させるので flash.now だと内容を保持できずに消えてしまうし、 render は HTTP リクエストを発生させないので flash.now が消えないから。

Railsの立ち位置

f:id:shiness:20210116140750p:plain