Обновление вложенных записей в одном запросе sql (активная запись, ruby ​​on rails) - PullRequest
0 голосов
/ 02 апреля 2019

Я хотел бы эффективно обновить все пользовательские настройки до значения по умолчанию.Следующее работает правильно, но не кажется достаточно хорошим:

Employer.find_each do |employer|
  employer.user_preferences.update_all(send_emails: employer.send_emails)
end

Есть подсказки?

1 Ответ

1 голос
/ 02 апреля 2019

Я не могу проверить это прямо сейчас, но вы можете использовать joins:

UserPreference.joins(:employer).update_all('send_email = employers.send_emails')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...