Клонирование документа Mongoid в ruby on rails от одного клиента к другому клиенту

#ruby-on-rails #mongoid #ruby-on-rails-6 #apartment-gem

#ruby-on-rails #mongoid #ruby-on-rails-6 #квартира-драгоценный камень

Вопрос:

Я использую ruby 2.7 и rails 6.0.3.2 , mongoid gem 7.1.0 с ros-paartment gem 2.7.2 . Что я пытаюсь сделать? У меня есть разные арендаторы, созданные с помощью ros-apartment gem . Я заполнил данные для администратора арендатора. В admin tenant у меня около 12 таблиц DB, здесь используется DB mongo . Теперь я хочу, чтобы всякий раз, когда создается новый клиент, я хотел скопировать все содержимое нескольких таблиц из admin-клиента во вновь созданный клиент. Предположим, у меня есть 12 таблиц, я хочу заполнить 9 таблиц для вновь созданного клиента из admin tenant. Есть ли какое-либо решение для достижения этой цели?

Комментарии:

1. Mongoid поддерживает использование нескольких готовых клиентов. Никаких дополнительных библиотек не требуется.

Ответ №1:

что вы могли бы попробовать, так это

 after_create_tenant :copy_from_admin_tenant


def copy_from_admin_tenant
 data = Apartment::Tenant.switch('admin_tenant') { admin_data = Model.all.as_json}
 data.each {|x| Model.create(x)}
end