複雑な join を scope で記述するプラクティス
Published: 2020/1/8
rails では、 ON 区を自前で記述するタイプの join を実行するためには、 これはその join 節を自分で文字列として記述しなければならない。
また、複雑な join 節が複数の箇所に散逸して行くのは、 ロジックが凝縮されていない感じになり、あまりうまくいかない。
であるならば、複雑な join は各モデルにおいて、 scope として記述するのが良さそうだ。
その種類の join が必要となる場面において、それをそのモデルの scope を必ず経由するようにすれば、 テーブル定義のリファクタリングなどを行う際にも、 デルメル的に、対象のクラスだけに注目しておけば良くなる、はず。