2015-11-01 62 views
1

這裏是我的模型:Rails的ActiveRecord的深層渴望裝載

class User < ActiveRecord::Base 
    has_many :products 
    has_many :comments 
end 

class Product < ActiveRecord::Base 
    belongs_to :user 
    has_many :comments 
end 

class Comment < ActiveRecord::Base 
    belongs_to :user 
    belongs_to :product 
end 

我需要從當前用戶得到評論記錄產品只有

我如何去做?感謝

回答

2

假如我們把關係到使用has_many: comments, through: products你也許可以得到你以後:

class User < ActiveRecord::Base 
    has_many :products 
    has_many :comments, through: products 
end 

class Product < ActiveRecord::Base 
    belongs_to :user 
    has_many :comments 
end 

class Comment < ActiveRecord::Base 
    belongs_to :user 
    belongs_to :product 
end 

現在你可以做user.comments

軌道文檔是here,其中說:

一個的has_many:通過協會經常被用來建立與其他模型中的許多一對多 連接。該關聯表明,通過繼續執行第三個模型,可以將聲明模型與另一個 模型的零個或多個實例進行匹配。例如,考慮一個 醫療實踐,病人預約看醫生。

+0

非常感謝:D –