В Rails 4.2, я знаю, что мы можем сделать:Динамические в Rails Схемы Модели
self.table_name = 'users'
Однако, у меня есть приложение, которое имеет некоторые модели в схемах для клиента. Это не правда, много-аренда как не все модели в схемах; некоторые из них являются общими. В каждой схеме есть только частная информация, например, о пользователях.
Я знаю, что мы можем сделать:
self.table_name = 'schema_name.users'
Однако, что если каждый schema_name
отличается - на одного клиента? Я могу успешно вставить данные в таблицу пользователей одной схемы, однако в том же сеансе, если я попытаюсь вставить ее в другую, она никогда не будет там сохранена. Я думаю, что table_name кэшируется и поэтому остается установленным ...
Любые предложения? Я уверен, что это возможно в Rails.
Спасибо
Благодарим вас за ответ. Что, если это было для создания через модель, однако? Я проверю Квартиру ... –
Если у меня есть модель пользователя, перед созданием я запустил это 'User.table_name = 'schema_name.users'' – neydroid
О, потрясающе! Поэтому у меня было 'before_action' в' ApplicationController', который вызывает 'set_runtime_organization', который читает из файла cookie организации. Оттуда я могу сделать «ModelName.table_name =« # {schema_name} .model_name' в качестве примера. Это должно работать нормально, я уверен ... –