我有一个名为audits的表,其中包含以下列。
auditable_id, auditable_type, association_id, association_type
我在模型中定义了两个多态关系。
belongs_to :auditable, :polymorphic => true
belongs_to :associated, :polymorphic => true
当我尝试访问可审计和关联的对象时。
它适用于可审计但它不会触发关联的查询。
Audit.last.auditable #Works
Audit.last.associated #Not working
我是否需要在关联中指定列名称?
答案 0 :(得分:0)
association
与允许belongs_to
和has_many
工作的ActiveRecord代码冲突。如果无法重命名列,则必须为关联模型使用其他名称,并手动指定外键并键入as documented here。使用示例父模型名称attachment
:
belongs_to :attachment, :polymorphic => true, :foreign_key => :association_id, :foreign_type: :association_type