Gem meta_search do Rails: classificar por contagem de um modelo associado
Estou usando meta_search para classificar colunas em uma tabela. Uma das minhas colunas da tabela é uma contagem dos registros associados para um modelo específico.
Basicamente é isso:
class Shop < ActiveRecord::Base
has_many :inventory_records
def current_inventory_count
inventory_records.where(:current => true).count
end
end
class InventoryRecord < ActiveRecord::Base
belongs_to :shop
#has a "current" boolean on this which I want to filter by as well
end
Na minha exibição de índice de Shop #, tenho uma tabela que lista o current_inventory_count de cada loja. Existe alguma maneira de usar meta_search para ordenar as lojas por essa contagem?
Não posso usar meu método current_inventory_count, pois a meta_search pode usar apenas métodos personalizados que retornam um tipo ActiveRecord :: Relation.
A única maneira de pensar em fazer isso é fazer um SQL personalizado, que inclua a contagem em uma coluna "virtual" e faça a classificação por esta coluna. Não tenho certeza se isso é possível.
Alguma ideia?
Estou usando o Rails 3.0.3 e a última meta_search.