2012-08-24 88 views
0

我以下車型排序帖子評論後第一

帖子:

has_many :comments 

評論:

belongs_to :post 

和一個叫pages在它下面的代碼控制器。

def home 
    @posts = Post.includes(:comments) 
    respond_to do |format| 
     format.html 
    end 
end 

所以說,如果我有3個職位P1,P2,P3;最初在home頁面上以相同順序呈現。稍後,如果P2得到評論,我刷新頁面,順序應該是P2,P1,P3。所以每當帖子被評論時,它應該出現在最上面。所有的帖子應按照他們得到評論的時間降序排列。我怎樣才能做到這一點?

我的嘗試 - 我試過的效率很低,絕對不是一個好習慣。我從評論中以降序獲得獨特的post_ids,並使用post_ids獲取帖子。

我確定導軌提供了最好的方式來做到這一點。幫助高度讚賞。謝謝。

回答

2

試試這個,

@posts = Post.includes(:comments).order("comments.created_at desc") 
+0

是這麼簡單? kool ... :)謝謝Pradeep:D – Bongs