やる気がストロングZERO

やる気のストロングスタイル

ActiveRecord

【Rails】Active Record のコールバックは使わない方がいいと思った

Active Recordのコールバックは便利な事もあるのかもしれないが、注意して使わないとコードの可読性がものすごく落ちていくので使わない方がいいと思った。 Active Record コールバック - Rails ガイド コードリーディングで処理を追うのが難しくなる コール…

ビジネスロジック内でActiveRecordを直接つかいたくない

ActiveRecordのような、データベースとやり取りするライブラリをビジネスロジック内で直接使いたくない、とか思ってしまう。 なぜ? ビジネスロジック内で直接ActiveRecordを使うとAcriveRecordに依存したコードになってしまう。 ビジネスロジック的にはデー…

【activerecord】joins, includes, eager_load, preloadの違い

joins, includes, eager_load, preloadはよく似た状況を作り出すがいまいち理解し切れなかったので整理。 参考) ActiveRecordのjoinsとpreloadとincludesとeager_loadの違い - Qiita N+1問題を回避し、かつ、、 where条件に関連テーブルのカラムを使いたい…

【ActiveRecord】テーブルをまたいでwhere句条件を書きたい時

こういうsqlをActiveRecordを使って表現したい SELECT * FROM posts INNER JOIN comments ON comments.post_id = posts.id WHERE comments.created_at >= '2019-01-01' つまり、2019年以降にコメントがついたpostのデータを取得したい。 こう書いたらできた …