Help us understand the problem. What is going on with this article?

Viewにビジネスロジックは書かない

More than 1 year has passed since last update.

自分がエンジニアバイトをしているところでは週1回Rails勉強会をしています。今回はそのやったところのまとめを残しておきます。
前回(コントローラに書くコードを意識する)からの続きです。
参考書:現場で使える Ruby on Rails 5速習実践ガイド

Viewの役割

Viewはプレゼンテーション層もしくはユーザー・インターフェース層とも呼ばれています。役割としてはユーザーとコンピュータをつなぐ役割をしています。具体的にはページの表示、ページ遷移、ユーザーが入力、操作したことをコンピュータに伝えるのが役割です。このユーザーがページを見るためのコード、入力のためのフォームのようにユーザーとコンピュータを繋ぐためにViewに書かれたコードをプレゼンテーションロジックといいます。

Viewにビジネスロジックが混ざることの問題点

  • Viewに同じビジネスロジックが重複してしまい、変更範囲が広くなり変更にコストがかかってしまう。
    → Modelに記述しておけば変更時は一箇所だけになるので管理が楽になる。

  • Viewを介してテストを書く必要が出てくるので、同じビジネスロジックの場合全てテストするのは手間がかかる。
    → Modelに書けばテストは一つですむ。

  • デザインが頻繁に変更される場合、ビジネスロジックにその変更による影響がでることがある。

なのでViewとModelの関係はModelからデータを受け取るだけにしておきたい。

sumin
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away