2013-08-27 132 views
0

我有3個表格,註釋,用戶和圖像。rails多層次包含嵌套關聯

我試圖制定一個查詢,將產生包括評論員的信息和頭像的職位上的評論數組。

頭像存儲在圖像表中,而用戶表包含用戶信息加上存儲用戶頭像的圖像對象的引用ID。

每個評論都有一個引用用戶表中的對象的作者ID。

這是我迄今爲止

@comments = Comment.all(:include => [:user => :images], 
      :conditions => { 
       :source => p[:source], 
       :source_id => p[:id], 
       :users => {:id => p[:user_id]}, /* if this result is *user */ 
       :images => {????} /*essentially i need images.id = *user.profile_id */ 
       }) 

無法獲取圖像的一部分工作,有人可以告訴我怎麼樣?

+0

發佈的型號代碼,如果得到了工作你模型關聯是對的,你應該可以做@comments = User.find(:id).comments – beck03076

+0

'class User

+0

不應該有一個用戶只有一個頭像?爲什麼用戶has_many圖像的原因? – depa

回答

2

這是我在最後

class User < ActiveRecord::Base 
    belongs_to :image, :foreign_key => "profile_id" 

class Image < ActiveRecord::Base 
    has_one :user 

class Comment < ActiveRecord::Base 
    belongs_to :user 

@comments = Comment.all(:include => [{:user => :image}, :like, :flag], 
      :conditions => { 
       ... 
       }) 

這工作,但如果有人能告訴我,如果這樣做了正確的方式,將是巨大的

+0

爲什麼我們不會使用'.includes'方法? – ahnbizcad