Я использую meta_search для сортировки столбцов в таблице. Один из моих столбцов таблицы - это количество связанных записей для конкретной модели.Rails meta_search gem: сортировать по счету связанной модели
В основном это так:
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
В моем магазине зрения # указательным У меня есть таблица, в которой перечислены вне current_inventory_count для каждого магазина. Есть ли способ использовать meta_search для заказа магазинов по этому счету?
Я не могу использовать мой метод current_inventory_count, так как meta_search может использовать только пользовательские методы, которые возвращают тип ActiveRecord :: Relation.
Единственный способ, которым я могу думать об этом, - это сделать некоторый пользовательский SQL, который включает в себя счет в «виртуальном» столбце и сортировку по этому столбцу. Я не уверен, что это возможно.
Любые идеи?
Я использую Rails 3.0.3 и новейший meta_search.
бы мой лучший вариант будет просто добавить «current_inventory_records_count» колонку дб для магазинов, которые я просто убедитесь, что всегда правильно с помощью before_save-х ? – jfeust