模型有很多可附加物

时间:2012-10-22 09:23:16

标签: ruby-on-rails associations

我有一个Event模型,我正在寻找添加可附加模型的列表。这需要包含某种多态性,因为可附加列表可以是Contact User Post Import和其他几个中的任何一个。

我不完全确定如何才能最好地实现这一目标。单个联系人也可以附加到许多活动中。请采取以下措施,例如:

event.attachables #=> [User, Contact, Contact, Import, ...]
user = event.attachables.first
user.attached_events #=> [Event, Event, Event, ...]

为了最好地实现这一点,正确方向上的任何一点?

2 个答案:

答案 0 :(得分:1)

我昨天也找了同样的事情。

我找到了一篇博文,详细描述了所有内容并帮助我实现了这一点。

http://www.unixgods.org/~tilo/Rails/Rails_polymprphic_has_many_through_relationships.html

这里的关键是在source模型的has_many声明中定义属性event,在as has_many声明中定义Contact {1}},UserPost

您只需要为source找到一个正确的描述性名称:)

答案 1 :(得分:-1)

我真的建议您阅读此Rails指南:http://guides.rubyonrails.org/association_basics.html#polymorphic-associations。它涵盖了你所追求的目标。