У меня есть модель Category
с родительскими и дочерними категориями (acts_as_nested_set
). У каждой категории есть balance
, и я хочу заказать родительские категории по сумме их «семейного баланса».Заказ детьми (вложенными) элементами
Под «семейный баланс» Я имею в виду это:
def children_categories(c)
current_user.categories.where(parent_id: c.id)
end
def family_balance(c)
c.balance + children_categories(c).sum(:balance)
end
Я использую эти методы в помощнике, чтобы показать его в представлениях, но я не знаю, как использовать family_balance
в order
метода в контроллере.
На самом деле мне нужно что-то вроде этого, чтобы работать:
@parent_categories = current_user.categories.where(parent_id: nil).order(family_balance: :asc)
Спасибо!
Отлично. Он работает, но мне пришлось создать новый метод 'family_balance' в модели' Category'. –