以内存有效的方式为用户设置许多关联

时间:2018-11-05 03:20:41

标签: ruby-on-rails

我有一个具有8个关联的用户,例如

#app/models/user.rb
class User < ApplicationRecord
   has_many :plans
   has_one :account
   has_many :goals
   has_one :profile
   ...
end

在大多数情况下,每个用户的关联初始值都相似,因此对于每个has_one关联,我都有类似的代码

user.account = Account.new(account_values_hsh)

对于每个有很多关联的人,我都有类似的代码

user.plans << Plan.new(plan_values_hsh)

但是,这导致大量的内存分配,并且还意味着存在一个漫长的事务。有没有更有效的方法来做到这一点?也许是通过启动内存中的所有关联,然后仅执行一个保存操作?

0 个答案:

没有答案