【发布时间】:2018-12-20 12:51:19
【问题描述】:
我正在尝试实现两个模型之间的 HATBM 关联,其中一个模型指向我的本地数据库表,另一个模型指向外部数据库的表。
本地模型:
class Group < ApplicationRecord
has_and_belongs_to_many :chains
end
模型连接到外部数据库:
class Chain < ApplicationRecord
establish_connection :xyz
self.table_name = 'queues'
has_and_belongs_to_many :groups
end
加入表(chains_groups)字段:
1) :group_id
2) :chain_id
申请详情:
Rails : 5.2.0
Database : postgresql
每当我尝试在连接表中插入数据时,我都会收到一个错误 ActiveRecord::StatementInvalid,指出 chains_groups 表不存在。似乎是这样,它总是在我的本地数据库中存在的外部数据库上搜索连接表(chains_groups)。我什至尝试实现“has_many :through”关联,但结果是一样的。
【问题讨论】:
-
如何将数据插入连接表?
-
使用
-
在关联的哪一边?
-
尝试从“组”模型端插入数据时出现问题。
-
我尝试使用simple rails app 进行复制,但我看到了一个稍微不同的错误:
relation "groups_queues" does not exist。当我重命名连接表时,我没有看到错误。
标签: ruby-on-rails-5 associations has-many-through has-and-belongs-to-many