2012-05-28 58 views
2

我有兩個模型,發佈和評論。每篇文章都有很多評論。我想訂閱我的帖子,哪個帖子有最新的評論。設置軌道活動記錄的default_scope順序,取決於關聯的模型

我試圖設置default_scope在我的崗位模型如下:

default_scope :order => 'posts.comments.last.updated_at DESC' 

。 。但是當我嘗試這個時,我得到了一個PGError。我該怎麼做?

回答

0

試試這個:

default_scope :joins => :comments, :order => 'comments.updated_at DESC', :group => 'id' 
+0

這有效,但會導致重複。 'comments.last.updated_at DESC'也不起作用。有沒有辦法調用最後一個或強制唯一性? – John

+0

對於「:group =>'id'」,我得到'PGError:ERROR:列引用「id」不明確'如果重要,當我調用帖子時,它來自與帖子關聯的另一個模型:'deal。帖子' – John

+0

然後嘗試'posts.id'。 –

1

使用此

default_scope.joins(:comments).find(:all, :order => 'comments.updated_at DESC', :group => 'id') 

這對我的作品。