Ruby on rails RubyonRails、名称空间、模型和多对多关联

Ruby on rails RubyonRails、名称空间、模型和多对多关联,ruby-on-rails,activerecord,namespaces,Ruby On Rails,Activerecord,Namespaces,我使用的是名称空间,我有以下模型: class Administradora::Owner < ApplicationRecord has_many :owner_mails, foreign_key: :administradora_owner_id has_many :junta_mails, through: :owner_mails end class Junta::Mail < ApplicationRecord has_many :owner_mails,

我使用的是名称空间,我有以下模型:

class Administradora::Owner < ApplicationRecord
  has_many :owner_mails, foreign_key: :administradora_owner_id
  has_many :junta_mails, through: :owner_mails
end

class Junta::Mail < ApplicationRecord
  has_many :owner_mails, class_name: "OwnerMail", foreign_key: :junta_mail_id
  has_many :adminstradora_owners, through: :owner_mails
end

class OwnerMail < ApplicationRecord
  belongs_to :administradora_owner,  :foreign_key => :owner_id, :primary_key => :administradora_owner_id
  belongs_to :junta_mail,  :foreign_key => :mail_id, :primary_key => :mail_id
end
但如果我尝试:

x = OwnerMail.create(administradora_owner_id: 4,junta_mail_id: 3, created_at: "2016/04/04", updated_at: "2016/04/04")
   (0.2ms)  BEGIN
   (0.5ms)  ROLLBACK
我得到以下错误:

ActiveRecord::RecordInvalid:验证失败:Administratora所有者 必须存在,军政府邮件必须存在

ID
3
4
确实存在于它们的表中


怎么了?

我想您只需要在“属于”方法上指定类名。 像这样:

belongs_to :administradora_owner, class_name: 'Administrator::Owner'  ....

你的Rails版本是什么?
belongs_to :administradora_owner, class_name: 'Administrator::Owner'  ....