У меня есть модель Rails ActiveRecord, в которую я хочу возвращать оформленные результаты, когда выполняю запрос с использованием my_method, но только после того, как запрос выполнен и вернул результаты.
Другими словами:
MyModel.where(condition).my_method.where(another_condition)
Вернет ActiveRelation.Мой метод my_method не нарушает цепочку запросов до тех пор, пока результаты загружаются лениво.
MyModel.where(condition).my_method.where(another_condition).all
Вернет MyDecoratedResult.
Один из способов, которым я мог бы это сделать, - это сделать my_method для оформления при вызове и разумно пересылать последующие запросы к его содержимому(ActiveRelation).Я не возражаю против этого, но предпочел бы технику, которая требует меньше интеллекта.
Хотелось бы услышать некоторые идеи о других способах достижения моей цели.Помимо упомянутого выше способа, я могу думать только о расширении ActiveRelation.
Спасибо!Max