【发布时间】:2013-09-10 19:04:39
【问题描述】:
我熟悉使用 Rails 的多态关联,其中可以将模型声明为多态以获得属于多个其他模型的能力,例如:
class Comment < ActiveRecord::Base
belongs_to :commentable, :polymorphic => true
end
class Article < ActiveRecord::Base
has_many :comments, :as => :commentable
end
class Photo < ActiveRecord::Base
has_many :comments, :as => :commentable
end
class Event < ActiveRecord::Base
has_many :comments, :as => :commentable
end
是否有一种常见的模式来处理相反的情况,其中一个模型可以有许多其他模型可以通过相同的接口访问(例如,一个人有很多宠物,其中宠物可以是狗、猫、 ETC。)?我应该只创建一个虚拟属性吗?
【问题讨论】:
-
您找到解决方案了吗?我正在寻找类似的东西。虽然,STI 可能适用于您的宠物示例。
标签: ruby-on-rails polymorphism polymorphic-associations