我正在构建一个Ruby on Rails应用程序,该应用程序会定期将数据转储到我的PostgreSQL安装中。现在我有两个实体,帐户和地址。
帐户有很多地址。到目前为止,外键关系是在Rails默认设置时设置的,其中Addresses有一个名为account_id
的列。但是Rails永远不会创建数据,它只是会读取它。我的外部服务转储数据会在我的帐户记录中创建一个名为masterID
的唯一ID,并将该ID放入相关地址的associatedID
列。
在查找关联的地址时,我需要Rails使用masterID
字段和associatedID
字段。
有谁知道我会怎么做?
答案 0 :(得分:1)
您可以尝试这样的事情:
class Account < ActiveRecord::Base
has_one :address , :foreign_key => 'masterID'
end
请阅读“Active Record Associations”,了解有关4.1.2.5节的更多信息。
答案 1 :(得分:0)
是的,您可以在声明foreign_keys
关联时指定has_many
:
class Account < ActiveRecord::Base
has_many :addresses, foreign_key: 'masterID'
end
has_many
docs中有更多信息(请查看选项)。