我的組模型has_many帖子,帖子have_many評論。如果沒有關聯,則按關聯created_at或自己created_at排序
當我在一個組上顯示帖子時,我想按照最近評論的創建時間,帖子上是否有任何內容或帖子本身的created_at進行排序。
因此,如果舊帖子有新評論,則會跳回列表頂部。
我的組模型has_many帖子,帖子have_many評論。如果沒有關聯,則按關聯created_at或自己created_at排序
當我在一個組上顯示帖子時,我想按照最近評論的創建時間,帖子上是否有任何內容或帖子本身的created_at進行排序。
因此,如果舊帖子有新評論,則會跳回列表頂部。
我會堅持一個不同的方法:您的Comment belongs_to :post
和belongs_to
接受:touch
選項。將其設置爲true
,您的帖子的updated_at
將自動更新評論的修改。這樣你可以自由地顯示你的帖子,按他們的updated_at
排序。
您可以添加commented_at:datetime列到職位表,然後before_create回調添加到Post模型:
before_create :set_default_commented_at
def set_default_commented_at
self.commented_at ||= Time.now
end
並添加:觸摸評論模型belongs_to的關聯關係:
belongs_to :post, touch: :commented_at
畢竟您可以通過commented_at列進行排序。