Frage

Ich habe eine folgende Assoziation

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

Nun, wenn ich versuchte,

Person.first.employments.first.centres.build es gab mir Fehler wie

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

Am i irgend etwas falsch zu machen?

oder das eingebettete Dokument viele andere Dokumente nicht verweisen können?

War es hilfreich?

Lösung

Geck, ist man falsch eingestellt. Embedded-Dokument kann nicht anderes Modell verweisen. Wenn Sie noch ein anderes Modell mit eingebettetem Dokument verweisen mögen, dann müssen Sie benutzerdefinierte Funktion erstellen.

Andere Tipps

Versuchen Sie:

class Centre
  include Mongoid::Document
  referenced_in :employment, :inverse_of => :centres
end
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top