私はこれらのモデルを持っていて、それを注文するために meta_search で遊んでいます。
class Company < ActiveRecord::Base
has_many :delivers
has_many :estimates, :through => :deliver
end
class Estimate < ActiveRecord::Base
has_many :delivers, :dependent => :destroy
has_many :companies, :through => :delivers
end
class Deliver < ActiveRecord::Base
belongs_to :estimate
belongs_to :company
end
ご覧のように、会社には多くの見積もりがあり、見積もりの数が最も多い会社から見積もりの数が最も少ない会社の順に会社を表示するフィルターが必要です。
次のような並べ替えリンクが必要です。
= sort_link @search, :estimates_asc
私はそのように注文できることを知っています この声明を持つ会社
Company.joins(:estimates).sort_by{|x| -x.estimates.size}
私を助けてくれてありがとう。