0

如何建立超过两层深度的关联?我有一个资源用户 has_one 博客,其中有很多帖子,其中有很多评论,其中 has_one 联系人。已经是用户 has_may 联系人。但剩下的我该怎么办?用户是否应该拥有_many Posts :through => Blog?还是我应该直接发布参考用户?

4

1 回答 1

0

由于有许多可能的直接关联和通过关联,您有很多选择,并且没有任何严格的规则。所以设置你需要的东西。您在关联方面确实有很多深度,但是您真的想要 user.posts,因为它们会跨越不同的博客吗?无论如何,我在下面添加了它。

class User
  has_many :blogs
  has_many :contacts, :through => :user_contacts
  has_many :posts, :through => :blogs

class UserContacts
  belongs_to :user
  belongs_to :contact

class Blog
  belongs_to :user
  has_many :posts

class Post
  belongs_to :blog
  has_many :comments

class Comment
  belongs_to :post
  has_one :contact

class Contact
  has_many :comments
于 2012-07-19T16:41:28.170 回答