Sobre o documento incorporado referenciando muitos outros documentos
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?
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