Ruby on rails 如何按属性和对模型进行排序?

Ruby on rails 如何按属性和对模型进行排序?,ruby-on-rails,ruby,ruby-on-rails-3,sql-order-by,Ruby On Rails,Ruby,Ruby On Rails 3,Sql Order By,我有一个由序列化程序表示的艺术家模型 class ArtistSerializer < ActiveModel::Serializer attributes :id, :name, :followers_total_count def followers_total_count [ object.facebook_like_count, object.soundcloud_like_count,

我有一个由序列化程序表示的艺术家模型

class ArtistSerializer < ActiveModel::Serializer
  attributes :id,
             :name,
             :followers_total_count

  def followers_total_count
    [
      object.facebook_like_count,
      object.soundcloud_like_count,
      object.instagram_like_count,
      object.twitter_like_count,
      object.mixcloud_like_count,
      object.youtube_like_count
    ].map(&:to_i).reduce(:+)
  end
end
类ArtistSerializer 如何按所有提供者(如count)的总和对艺术家.all进行排序

例如:

艺人1

  • facebook_like_count=>100
  • twitter\u like\u count=>50
艺人2

  • instagram_like_计数=>20
  • twitter\u like\u count=>1000

顺序应该是[Artist2,Artist1]

假设
:followers\u total\u count
是一个整数,您可以尝试以下操作

Artist.order(:followers_total_count, :desc)