在一个sql查询中更新嵌套记录(活动记录,ruby on rails)

时间:2019-04-02 15:02:33

标签: ruby-on-rails ruby activerecord

我想将所有用户偏好设置有效地更新为默认值。以下内容可以正常工作,但看起来还不够好:

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

有任何提示吗?

1 个答案:

答案 0 :(得分:1)

我目前无法对其进行测试,但是您可以使用joins

UserPreference.joins(:employer).update_all('send_email = employers.send_emails')