我有两个模型,Accounts和CreditRecords。一个账户可以有许多属于它的信用记录。但是,帐户也可以将信用记录交易到其他帐户,并且我想要跟踪当前帐户所有者是谁,以及原始所有者是谁。Rails - 关联一个模型与另一个模型的多个实例的AssociationTypeMismatch错误
class Account < ActiveRecord::Base
has_many :credit_records
class CreditRecord < ActiveRecord::Base
belongs_to :original_owner_id, :class_name => "Account"
belongs_to :account_id, :class_name => "Account"
当我尝试设置CreditRecord.account_id,比方说,1,它更新的罚款。但是,如果我尝试CreditRecord.original_owner_id设置为3,我得到这个错误:
ActiveRecord::AssociationTypeMismatch: Account(#70154465182260) expected, got Fixnum(#70154423875840)
两个ACCOUNT_ID和original_owner_id被设置为整数。
确定。刚刚尝试过,现在我已经得到了:“NameError:未定义的局部变量或方法'foreign_key'为#” –
krstck
对不起。修改了我的答案。它应该是一个符号 – usha
辉煌!这样可行! – krstck