has_and_belongs_to присоединение к внешней базе данных - PullRequest
0 голосов
/ 29 ноября 2011

Это может быть случай, когда мне нужно использовать 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

Он ищет в неверной базе данных таблицу соединений. Можно ли указать, что провайдеры «инструментальных панелей» живут в другой базе данных?

1 Ответ

1 голос
/ 19 апреля 2012

Это может быть опечатка, но посмотрите на "Class Dashboard", должно быть "class Dashboard".Кроме того, это с ноября, так что я думаю, что вы уже решили это.

...