Ruby on rails 当模型有2个子类时,Rails 4有很多关联不起作用

Ruby on rails 当模型有2个子类时,Rails 4有很多关联不起作用,ruby-on-rails,ruby-on-rails-4,activerecord,Ruby On Rails,Ruby On Rails 4,Activerecord,我使用的是Rails 4 我有一个名为Ar的异常记录类,它继承自以下类,如下所示: class RecordBase < ActiveRecord::Base self.abstract_class = true end class ArAndEcrBase < RecordBase self.abstract_class = true # Relations belongs_to :originator, class_name: 'User', foreign

我使用的是Rails 4

我有一个名为Ar的异常记录类,它继承自以下类,如下所示:

class RecordBase < ActiveRecord::Base 
  self.abstract_class = true
end

class ArAndEcrBase < RecordBase
  self.abstract_class = true

  # Relations
  belongs_to :originator, class_name: 'User', foreign_key: 'originator_id'
  has_many :attachments
end

class Ar < ArAndEcrBase

end
由于某种原因,这种“有很多”的关系不太好。它应该查找attachments.ar_id列,而不是attachments.ar_和_ecr_base_id列

我做错什么了吗?或者这是一个Rails bug


Atm使代码工作的唯一方法是移动与Ar类的多个关系:

class Ar < ArAndEcrBase
  has_many :attachments    
end
Ar级
如果您希望多个模型与同一个其他模型关联,则可能需要一个

类图片
如果您希望多个模型与同一个其他模型关联,则可能需要一个

类图片
嗨!我不想要多态关联。请注意,前两个类与任何表都没有关联:self.abstract_class=true,只有Ar类实际有一个表。谢谢你的反馈!你好我不想要多态关联。请注意,前两个类与任何表都没有关联:self.abstract_class=true,只有Ar类实际有一个表。谢谢你的反馈!您是否尝试过使用的逆\u选项?嗨,Rocco!我从没听说过这个选择。我试过设置,但没用。我得到了完全相同的错误,谢谢!Atm让代码正常工作的唯一方法是将has___许多关系转移到Ar类:我猜这一定是Rails的bug吧!您是否尝试过使用的逆\u选项?嗨,Rocco!我从没听说过这个选择。我试过设置,但没用。我得到了完全相同的错误,谢谢!Atm让代码正常工作的唯一方法是将has___许多关系转移到Ar类:我猜这一定是Rails的bug吧!
> Ar.last.attachments
Mysql2::Error: Unknown column 'attachments.ar_and_ecr_base_id'
class Ar < ArAndEcrBase
  has_many :attachments    
end
class Picture < ActiveRecord::Base
  belongs_to :imageable, polymorphic: true
end

class Employee < ActiveRecord::Base
  has_many :pictures, as: :imageable
end

class Product < ActiveRecord::Base
  has_many :pictures, as: :imageable
end