has_many:通过继承类的方法

时间:2012-07-26 11:46:13

标签: ruby-on-rails ruby-on-rails-3 inheritance has-many-through single-table-inheritance

背景:我有一个简单的has_many:通过设置链接社区和帖子 - 这允许我调用@ community.posts或@ post.communities。我还有一个事件模型,它继承自帖子

目标:我想知道是否有一种Rails方式可以调用@ community.events的内容来返回属于该社区的事件。

1 个答案:

答案 0 :(得分:0)

在社区模型中使用这些关联

class Community < ActiveRecord::Base
  has_and_belongs_to_many :posts, conditions: {type: nil}
  has_and_belongs_to_many :events, join_table: "communities_posts", association_foreign_key: "post_id"
end

对于帖子,您只需使用,

has_and_belongs_to_many :communities