Мы можем использовать LIKE
так же, как в SQL с активной записью
В вашей BookingGroup
модели
def search_by_category
bookings.visible.where('category LIKE ?', '%child%').size
end
Но, если вы сделаете это для многих booking_groups
, вашкод будет иметь N+1
вопрос запросов.Вы можете использовать нетерпеливую нагрузку в вашем контроллере
@booking_groups = BookingGroup.joins(:bookings).select('booking_groups.*', 'count(*) as total_bookings').where('bookings.category LIKE ?', '%child%').group(:id)
Тогда вы можете
@booking_groups.first.total_bookings