Ich versuche, mehrere Klassen einzurichten, die auf eine Klasse verweisen, und sie müssen nur in einer Richtung sein.Warum kann ich eine 1: N- und eine 1: 1-Einwegreferenz zu einer Klasse in Mongoid nicht multiplizieren?
Ich habe diese Klassen:
class Widget
include Mongoid::Document
...
class Template
include Mongoid::Document
has_and_belongs_to_many :widgets, inverse_of: nil
...
class EntryText
include Mongoid::Document
has_one :widget, inverse_of: nil
...
Wenn ich versuche, so etwas wie:
EntryText.new.widget = Widget.first
bekomme ich diesen Fehler:
undefined method `=' for #<Widget:
Ich bin in der Lage Eintrag Text ändern müssen diese Bezugnahme auf Widget:
has_and_belongs_to_many :widgets, inverse_of: nil
Aber da es nur ein Widget hat, ist dies eine Art hässlicher Workaround.