🙆
Railsの polymorphic(ポリモーフィック)とは何ぞや?
ポリモーフィック
Railsのポリモーフィック(Polymorphic)リレーションシップ
は、1つのモデルが複数の他のモデルと関連付けることができるようにする機能です。
どういう時に使う?
ポリモーフィック関連付けは、主に次のようなシナリオで使用されます:
1.1つのモデルが複数の他のモデルと関連付けられる場合。
2.複数のモデルが同じモデルと関連付けられる場合。
具体例
ブログを例に出します。ブログ投稿にはコメントが記事や画像の両方に関連付けられる場合を考えてみます。
このような場合、コメントモデルに対してポリモーフィックな関連付けを使用することができます。
以下は、ポリモーフィックな関連付けの例です:
class Comment < ApplicationRecord
belongs_to :commentable, polymorphic: true
end
class Post < ApplicationRecord
has_many :comments, as: :commentable
end
class Image < ApplicationRecord
has_many :comments, as: :commentable
end
こんな感じで使うみたいです。
参考資料
ChatGPT
Discussion