Rails Rails 映射已有数据库后建立模型关系

mumu · 2015年12月24日 · 最后由 nowherekai 回复于 2015年12月24日 · 1946 次阅读

现在通过 ActiveRecord 映射已有的数据库,model A、model B 已分别映射到表 A、表 B A、B 的模型关系如下:


class A < ActiveRecord::Base
   has_many :B
   belongs_to :C
  self.abstract_class=true
  self.table_name='DICT.IN_PATS'
   self.primary_key ='IN_PAT_ID'
  establish_connection :hiscomm
end

class B < ActiveRecord::Base
   belongs_to :A
  self.abstract_class=true
  self.table_name='IN.PAT_IN_HOSPITAL'
  self.primary_key ='PAT_IN_HOS_ID'
  establish_connection :hiszy
end

表 B 中有表 A 的主键 IN_PAT_ID, 但是取不到关联模型的数据是什么原因呢?

belongs_to :A, foreign_key: "XXX"

试试这样呢?

并且感觉 has_many :xxx(复数)应该注意复数

#1 楼 @night_7th #2 楼 @qinfanpeng 恩,非常谢谢,已取到数据

belongs_to :A, foreign_key: "XXX", primary_key: "XXX"

文档 Options 那一节的说明

需要 登录 后方可回复, 如果你还没有账号请 注册新账号