模型四级深 - Rails 3

时间:2012-07-19 16:28:52

标签: ruby-on-rails-3 routes

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

1 个答案:

答案 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