2013-03-04 57 views
1

我有两个单独的具有多个指向相同对象的关系。多个关系指向相同的模型 - 通过ruby获取数据

  • 用户可以通过photo_relationships许多照片
  • 用户有很多照片通过投票

在我的控制,我想显示的所有照片,通过这个代码的用户:

@user = User.find(params[:id]) 
@photos = @user.photos 

但是,内部连接受到用户模型中最后提到的任何has_many关系的控制,在这种情况下为投票。是否有指定内部连接用途是什么,例如一个办法:

@photos = @user.photos(joins: :photo_relationships) 

回答

0

做这样的事情:

class User 
    ... 
    has_many :voted_photos,  class_name: 'Photo', through: :votes 
    has_many :relationship_photos, class_name: 'Photo', through: :photo_relationships 
end 
+0

谢谢了!我在代码中添加了source::照片,这使我可以单独离开其他模型。 [这篇文章](http://stackoverflow.com/questions/408872/rails-has-many-through-find-by-extra-attributes-in-join-model)也帮助我,一旦你让我在右边方向。 – 2013-03-04 20:06:57

相关问题