タグ

ブックマーク / qiita.com/app00b (1)

  • Rails Polymorphicの間違えた使い方 - Qiita

    で,このモデルを見ればわかると思うけど,breakdownable は決済する対象が増えるたびにどんどん増える. そして,depositable も決済手段が増えるたびにどんどん増える. Rails的にpolymorphicを使うだけなら全然問題ないんだけど,流石に決済系だとあとからこれをSQLで辿ったりすることが,まれによくある. そうすると,これらはすべてLEFT OUTER JOIN していく必要が合って,モデルの個数分だけ LEFT OUTER JOIN するので,軽く10以上のテーブルをJOINしたSQLを書くことになる. これがドキュメントに書かれていて,よくこれをコピペして使っていた. 流石にこんなにやばい両端ポリモーフィックなモデルはこれ以外なかったと思うなぁ. おまけにポリモーフィックを無視してくる モデルの構造を見ればわかると思うけど,depositable 側も br

    Rails Polymorphicの間違えた使い方 - Qiita
  • 1