7

我有一个事务类。该类的每个对象包括一个发行账户、一个发送账户和一个接收账户。其中每一个都是 Account 类的实例。在我的事务表中,我有 issuer_id、sender_id 和 receiver_id。

我应该如何指定 Transaction 和 Account 之间的关系以便我可以调用

transaction.issuer
transaction.sender
transaction.receiver

谢谢你。

4

1 回答 1

16

用于:class_name指定类名,当从关联名猜不出时:

class Transaction
  belongs_to :issuer,   :class_name => 'Account'
  belongs_to :sender,   :class_name => 'Account'
  belongs_to :receiver, :class_name => 'Account'
end

class Account
  has_many :issued_transactions,   :foreign_key => :issuer,   :class_name => 'Transaction'
  has_many :sent_transactions,     :foreign_key => :sender,   :class_name => 'Transaction'
  has_many :received_transactions, :foreign_key => :receiver, :class_name => 'Transaction'
end

您可以在文档中阅读更多内容。

于 2011-09-14T02:32:03.730 回答