Это может быть случай, когда мне нужно использовать has_many: through, но я бы предпочел этого не делать, так как это простая таблица соединения без атрибутов case.
Моя таблица провайдеров находится во внешней базе данных:
class Provider < ActiveRecord::Base
establish_connection :external_db
set_table_name :ch_cdn
set_primary_key :cdn_id
has_and_belongs_to_many :dashboards
end
Class Dashboard < ActiveRecord::Base
has_and_belongs_to_many :providers
end
Но когда я пытаюсь:
Dashboard.first.providers << Provider.first </p>
Я получаю
ActiveRecord :: StatementInvalid: Mysql2 :: Ошибка: таблица
'chshared.dashboards_providers' не существует: SELECT ch_cdn
. * FROM
ch_cdn
INNER JOIN dashboards_providers
ON ch_cdn
. cdn_id
=
dashboards_providers
. provider_id
ГДЕ
dashboards_providers
. dashboard_id
= 1
Он ищет в неверной базе данных таблицу соединений. Можно ли указать, что провайдеры «инструментальных панелей» живут в другой базе данных?