Упорядочение по comments_count (счетчик кэша) и create_at одновременно (Ruby on Rails)? - PullRequest
0 голосов
/ 01 февраля 2012

Я добавил кеш счетчика comments_count:

class AddCommentsCountToMicroposts < ActiveRecord::Migration
  def change
    add_column :microposts, :comments_count, :integer, :default => 0, :null => false
  end
end

, чтобы в основном подсчитывать количество комментариев для каждого микросообщения (модель микросообщений).Вот так я упорядочиваю микросообщений по количеству комментариев:

controllers / microposts_controller.rb:

  def index
    @microposts = Micropost.paginate(:page => params[:page],
                                     :per_page => 5).order('comments_count DESC')
  end

(я использую камень will_paginate)

Все работает как я хочу, кроме того, что заказано created_at ASC.Если есть два микросообщений с одинаковым количеством комментариев, то созданный ранее размещается первым.Я хочу наоборот, иными словами, я хочу заказать по comments_count DESC и create_at DESC одновременно.

Есть предложения для достижения этой цели?

1 Ответ

1 голос
/ 01 февраля 2012

.order('comments_count DESC, created_at DESC')

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...