Rails meta_search gem: ordenar por conteo de un modelo asociado
Estoy usando meta_search para ordenar columnas en una tabla. Una de las columnas de mi tabla es un recuento de los registros asociados para un modelo en particular.
Básicamente es esto:
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
En mi vista de índice de Shop # tengo una tabla que enumera la cuenta_inventario actual de cada tienda. ¿Hay alguna forma de usar meta_search para ordenar las tiendas por este conteo?
No puedo usar mi método current_inventory_count ya que meta_search solo puede usar métodos personalizados que devuelvan un tipo ActiveRecord :: Relation.
La única forma en que puedo pensar en hacer esto es hacer un SQL personalizado que incluya el recuento en una columna "virtual" y ordenar por esta columna. No estoy seguro de si eso es posible.
¿Algunas ideas?
Estoy usando Rails 3.0.3 y la última meta_search.