I have a Transaction class. Each object of this class includes one issuing account, one sending account and one receiving account. Each of these is an instance of Account class. In my Transaction table, I have issuer_id, sender_id and receiver_id.
How should I specify relationship between Transaction and Account so that I can call
transaction.issuer
transaction.sender
transaction.receiver
Thank you.
Use :class_name
to specify the class name, when it can't be guessed from the association 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
You can read more in the documentation.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With