タグ

polymorphicに関するluccafortのブックマーク (1)

  • そろそろポリモーフィック関連について一言いっとくか - Qiita

    class Notification < ActiveRecord::Base belongs_to :notifiable, polymorphic: true end class Message < ActiveRecord::Base has_one :notification, as: :notifiable end class Like < ActiveRecord::Base has_one :notification, as: :notifiable end 一行で色んなクラスに対する関連が指定できて便利感がある。 だからって、これを安易に使う前にちゃんと考えよう。 ポリモーフィック関連は単に関連の定義を省力化するためのものじゃない。 ポリモーフィックという名前が示す様に、これは多態性を持ったものに対する関連を定義する事であって、インターフェースに対する関連の定義だということ

    そろそろポリモーフィック関連について一言いっとくか - Qiita
    luccafort
    luccafort 2019/06/06
    “ポリモーフィック関連自体が、RDBに文字列でクラス名が入っていて安全ではない、外部キー制約が張れない等の理由で、割とデメリットも多いやり方だ。”まさしくこれを懸念した。
  • 1