您如何根据Ruby-on-Rails关联表示以下案例?
内容(名称,描述,链接)
有一个/属于一个或多个
作者
这是以下三种类型之一:
Person(first_name,surname)OR Artist(artist_name)OR Duo(name1, NAME2)
答案 0 :(得分:0)
当我学习多态关联的时候,那里有2个真正帮助我的来源
您必须记住,您有一个可以与其他人联系的模型,因此您需要键值才能知道要连接的型号和行
class Content < ActiveRecord::Base
belongs_to :commentable, polymorphic: true
end
class Person < ActiveRecord::Base
has_many :contents, as: :commentable
end
class Artist < ActiveRecord::Base
has_many :contents, as: :commentable
end
请注意,您应在内容模型中添加 commentable_id(作为您连接的字段的整数键)
commentable_type(作为字符串,这将是您要连接的模型名称)
Content (name, description, link, commentable_id, commentable_type)