has_and_belongs_to_many外部数据库连接

时间:2011-11-29 02:19:25

标签: ruby-on-rails ruby activerecord has-and-belongs-to-many

这可能是我需要使用has_many:through的情况,但我不想这样做,因为这是一个没有属性的简单连接表。

我的提供者表位于外部数据库中:

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&lt;&lt; Provider.first

我得到了

  

ActiveRecord :: StatementInvalid:Mysql2 :: Error:Table   'chshared.dashboards_providers'不存在:SELECT ch_cdn。* FROM   ch_cdn内部加入dashboards_providers ch_cdncdn_id =   dashboards_providersprovider_id在哪里   dashboards_providersdashboard_id = 1

它正在查找连接表的错误数据库。是否可以指定“仪表板”提供程序位于另一个数据库中?

1 个答案:

答案 0 :(得分:1)

这可能是一个错字,但看看“Class Dashboard”,应该是“class Dashboard”。此外,这是从11月开始的。所以我认为你已经解决了它。