如何设置两个以上级别的关联?我有一个资源用户has_one博客有很多帖子有很多评论has_one联系。已经是用户has_may联系人。但是我该如何处理呢?用户是否应该发布帖子:through =>博客?或者我应该直接发布参考用户?
答案 0 :(得分: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