在我的应用程序中,我有3个型号:
用户,页面,照片
照片属于一个页面,一个页面(它们只有一个)属于一个用户。然而,我的导航链接之一将是显示用户已提交的所有照片的网址(将经常使用) - 使用或使用它的最佳,最有效的关联是什么?
class User
has_many :pages
has_many :photos, :through => :pages
end
因此页面中的user_id是外键,照片中的pages_id是外键(这意味着我可以通过@ user.page.photos获取用户照片 - 或使用'包含'以使其更多效率 - 但它仍然比下面好吗?)
class User
has_many :pages
has_many :photos
end
因此页面中的user_id是外键,照片中的pages_id和user_id是外键。 (这意味着我可以直接调用@ user.photos)
感谢您的帮助!
答案 0 :(得分:0)
我认为第二个例子最有效。这是因为您不必通过中间表来连接以查找用户的照片。
然后photos
表将存储page_id
和user_id
外键。