2017-02-07 15 views
0

內部項目控制器我有這樣的:如何在Rails中將模型實例聚合成一個變量?

def index 
    @projects = Project.all 
    @projects.each do |pr| 
    @posts = @posts.what_do_i_use_here(pr.posts.all) 
    end 
    @posts.order('created_at DESC') 
end 

每個項目都有它的帖子,現在我想從彙總所有項目帖子到一個變量,我該怎麼做呢? 注意,這會從最後一個項目的帖子,沒有任何問題:

@projects.each do |pr| 
    @posts = pr.posts.all 
end 
+1

只是爲了澄清 - 你只得到了最後一個項目的帖子,因爲等號!如果你有'@posts = [] ..... @posts << @ posts.what_do_i_use_here(pr.posts.all)'所有的帖子都會被添加,但你會有一個巨大的性能衝擊 –

回答

2

如果你只在與項目相關的帖子感興趣:

文章僅涉及項目

@posts = Post.order(created_at: :desc)

多態性相關帖子

@posts = Post.where(posted_type: 'Project').order(created_at: :desc)

其中posted_type是類型字段的多態關係

+0

啊,所以我可以直接從Post模型中獲取它們。謝謝:) – Tomus

+0

很高興我能幫忙8) –

相關問題