Rails обновление нескольких записей в одном запросе?
Здравствуйте. Есть уведомления для пользователей на сайте. У уведомлений поле "прочитано". Если пользователь долго не заходит в уведомления, то они там скапливаются и при открытии страницы скрипт по одной выставляет поле в true. Даже порядка 50 записей обрабатываются ощутимо заметно. Т.е. происходит порядка 50 UPDATE запросов к базе. Есть ли возможность массово применить атрибут?
Если есть возможность, используй условное обновление записей одним запросом:
user.posts.where(visited: false).update_all(visited: true) ActiveRecord update_all
Если нет такой возможности и записи нужно обработать поочерёдно каждую, то используй Active Record Transactions