自分がエンジニアバイトをしているところでは週1回Rails勉強会をしています。今回はそのやったところのまとめを残しておきます。
前回(コントローラに書くコードを意識する)からの続きです。
参考書:現場で使える Ruby on Rails 5速習実践ガイド
Viewの役割
Viewはプレゼンテーション層もしくはユーザー・インターフェース層とも呼ばれています。役割としてはユーザーとコンピュータをつなぐ役割をしています。具体的にはページの表示、ページ遷移、ユーザーが入力、操作したことをコンピュータに伝えるのが役割です。このユーザーがページを見るためのコード、入力のためのフォームのようにユーザーとコンピュータを繋ぐためにViewに書かれたコードをプレゼンテーションロジックといいます。
Viewにビジネスロジックが混ざることの問題点
Viewに同じビジネスロジックが重複してしまい、変更範囲が広くなり変更にコストがかかってしまう。
→ Modelに記述しておけば変更時は一箇所だけになるので管理が楽になる。Viewを介してテストを書く必要が出てくるので、同じビジネスロジックの場合全てテストするのは手間がかかる。
→ Modelに書けばテストは一つですむ。デザインが頻繁に変更される場合、ビジネスロジックにその変更による影響がでることがある。
なのでViewとModelの関係はModelからデータを受け取るだけにしておきたい。