Я пытаюсь написать запрос поиска ActiveRecord безуспешно. Пожалуйста, помогите!
Эта функция моего проекта представляет собой блог с Digg-подобными функциями: каждый зарегистрированный пользователь может добавить звездочку к самому сообщению в блоге или любому из его ответов.
Итак, вот соответствующие классы моделей:
- BlogPost (ответы has_many)
- Ответить (принадлежит_ к сообщению блога)
- Starring (представляет собой действие одного пользователя с одним BlogPost или Reply; он имеет полиморфный интерфейс с BlogPost и Reply, внутренне ссылаясь на них как: starrables, изобилующий полями: starrable_id и: starrable_type)
Итак, я пытаюсь написать метод в blog_post.rb, который будет возвращать общее количество звездочек для объекта BlogPost, а также для всех его классов Reply. То есть, если запись блога имеет 10 звезд, и в ней есть два ответа, каждый из которых имеет 5 звезд, он должен вернуть 20.
Как мне написать этот запрос, не совершая миллионы транзакций с базой данных?