#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