Подтвердить что ты не робот

Объединение рельсов в пространствах с именами

Я снова делаю приложение и переношу данные из старого приложения. Некоторые из имен моделей будут одинаковыми, хотя не все из них.

Я пишу задачу rake для подключения к старой базе данных, чтения записей, создания некоторых вещей и записи результата в новую базу данных. Поскольку некоторые имена таблиц совпадают, имена моделей будут одинаковыми, поэтому я хочу назвать пространство моими моделями таким образом

module OldData
    class Account <ActiveRecord::Base
      has_many :subcriptions
      establish_connection $olddb  
    end

    class Subscription <ActiveRecord::Base
      belongs_to :account
      establish_connection $olddb  
    end
end

где $olddb - хэш, необходимый для подключения к старой базе данных

Я могу открыть учетные записи и прочитать их в порядке, но у модели учетной записи нет ассоциации подписки. Последняя документация Rails предполагает, что это должно сработать. но это не так.

Любые советы?

4b9b3361

Ответ 1

Возможно, вам стоит попробовать явно указать имя класса

has_many :subcriptions, class_name: 'OldData::Subscription'

и

belongs_to :account, class_name: 'OldData::Account'