我需要帮助弄清楚如何按评论数量对我的帖子进行排序。每当多个帖子具有相同数量的评论时,它将按最新排序。我也在试图弄清楚我是否应该在模型或控制器中执行此操作。
post.rb
class Post < ActiveRecord::Base
has_many :comments, :as => :commentable
end
评论.rb
class Comment < ActiveRecord::Base
belongs_to :commentable, :polymorphic => true
belongs_to :user
end
post_controller.rb
class PostsController < ApplicationController
def index
@feed = Post.find(:all, :order => "created_at ASC")
@posts = Post.includes(:comments).order("comments.size ASC, created_at DESC").page(params[:page]).per(1)
end
我正在使用 kaminari gem 进行分页。我会提供任何其他有助于回答这个问题的东西。