Pergunta

Eu tenho uma seguinte associação

Class Person 
    include Mongoid::Document
    embeds_many :employments
end

Class Employment
    include Mongoid::Document
    references_many :centres
end

class Centre
    include Mongoid::Document
    referenced_in :employment
end

Agora quando eu tentei

Person.first.employments.first.centres.build Isso me deu erros como

NoMethodError: undefined method `centres' for #<Employment:0x000001023f38f8>

Estou fazendo alguma coisa errada?

Ou o documento incorporado não pode referir muitos outros documentos?

Foi útil?

Solução

Cara, sua configuração está errada. O documento incorporado não pode fazer referência a outro modelo. Se você ainda deseja fazer referência a outro modelo com o documento incorporado, precisará criar uma função personalizada.

Outras dicas

Tentar:

class Centre
  include Mongoid::Document
  referenced_in :employment, :inverse_of => :centres
end
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top