Задача вывести корневые категории и по 5 дочерних категорий на странице каталога.
Связь в модели:
class Category < ApplicationRecord
has_many :subcategories, -> { order(:weight, :name) }, foreign_key: :parent_id, class_name: 'Category'
end
Получаю корневые категории
@categories = Category.where(parent_id: nil).order(:weight, :name).all
Соответственно @categories содержит все корневые категории, а @categories[0].subcategories все дочерние для выбранной категории. А нужно что бы было не более 5.
Нужно результата добился, модифицировав запрос в связи модели:
has_many :subcategories, -> { order(:weight, :name).limit(5) }, foreign_key: :parent_id, class_name: 'Category'
Но мне нужна эта связь без лимита. Могу ли я как-то задать limit для subcategories в контроллере?