我有属于账户的积分,但在账户之间来回交易。我需要能够跟踪信用当前属于哪个帐户,以及最初创建信用的帐户。目前我有一个这样的协会:
class Credit < ActiveRecord::Base
belongs_to :original_owner, :foreign_key => "account_id", :class_name => "Account"
belongs_to :account, :class_name => Account
end
现在在 Rails 控制台中,我可以设置 Credit.account.id = 3 和 Credit.original_owner.id = 4,但这只是更改了“帐户 ID”,实际上并没有更改关联。如果我将 Credit.account = Account.find(3) 设置为有效,但我无法将 Credit.original_owner 设置为 Account.find(4)。它表明它保存正确,但它没有。它只随 Credit.account 改变。每次我更改帐户时,它都会更改 original_owner 。
如何设置我的关联,以便我的 Credits 属于一个帐户,但仍跟踪其原始帐户?