Rails では様々な機能を使って、共通化や抽象化、シンプルなコードへの書き換えなどを行えるようになっています。今回はモデルに焦点を絞り、それらをまとめていきたいと思います。また、整理を始める前に気をつけるべきことをまとめておこうと思います。 Rails5 以降をメインとしていますが、概ね Rails4 でも同じであることが多いのではないかと思います。 おもに自分向けの情報整理です。 コールバック 整理する前に コールバックはシンプルな機能に絞る テストでも走ることを考慮しておく コールバックをクラスに分離する バリデーション EachValidator、PresenceValidator、UniquenessValidator Validatorとvalidates_with 値オブジェクト 値オブジェクトとcomposed_of ActiveSupport::Concern と Mix