У меня есть модель, которая представляет собой галерею изображений. Я хочу отслеживать, сколько просмотров получает изображение. В настоящее время я достигаю этого в контроллере
def show
@article = Post.find(params[:id])
@article.views += 1
@article.save
end
Однако это увеличивает счетчик просмотров только при доступе к полному представлению (и этот метод также не позволяет мне кэшировать шаблон). Я также хочу увеличивать представления, когда миниатюры представляются в представлении коллекции индексов (поскольку это также допустимые показы), а также при поиске в других презентациях «лайки», «избранное» и т. Д.
Другими словами, всякий раз, когда отображается полное изображение или большой палец изображения, я хочу увеличить счетчик просмотров. Есть ли какая-то модель / парадигма для достижения этого в рельсах?
Должен ли я сделать это в javascript, чтобы после загрузки страницы я получал список каждого идентификатора поста на странице, а затем просто нажимал на другой контроллер, который увеличивает счетчик просмотров для всех этих постов?