あなたが説明しているのは、「データ型」ではなく「データモデル」です。データ型 = 文字列、整数など。アクティブ レコード オブジェクトの場合は、データ モデルまたはアクティブ レコード モデルです。
Eimantas は、2 つの「has_many」関係について説明しているが、彼の投稿に書かれている「have_many」ではないと指摘しました。彼の例では、ブックマークは結合モデルと呼ばれています。結合モデルに他のものを配置し、そこにある関係を使用して物事を達成できることを覚えておいてください。たとえば、ブックマークの順序やお気に入りのランクを設定したい場合、結合モデルはそのためのアイデア スポットです。
簡素化された例:
class Article < ActiveRecord::Base
has_many :users, :through => :user_bookmarks
end
class UserBookmark < ActiveRecord::Base
belongs_to :user
belongs_to :article
end
class User < ActiveRecord::Base
has_many :user_bookmarks
has_many :articles, :through => :user_bookmarks
end
基本を理解した後に確認すること: カウンター キャッシュ - カウントを行っている場合、それらはあなたの味方です。
今すぐポリモーフィズムに飛び込もうとするよりも、これら 2 つの結合モデルを使用する方が、はるかに簡単でクリーンです。それを起動して実行したら、次にそれを探索できます。