Настройте пользователя со многими ассоциациями в памяти эффективным способом - PullRequest
0 голосов
/ 05 ноября 2018

У меня есть пользователь, имеющий 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)

Однако это приводит к большому количеству выделения памяти, а также к длительной транзакции. Есть ли более эффективный способ сделать это, возможно, заполнив все ассоциации в памяти, а затем просто выполнив одну операцию сохранения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...