Ich habe zwei Modelle 'Produkt' und 'Variant', Produkt hat viele Varianten, jetzt muss ich die Assoziation eines neuen Modells namens "Ingridient" mit Variante so festlegen, dass Variant viele hat ingridients.but in ingridents möchte ich zeigen, dass es wieder has_one Produkt und variant.for BeispielAssoziation mit dem gleichen Modell
class Variant
has_many :ingridients
belongs_to :product
end
class Ingridient
belongs_to :variant
belongs_to :product
end
jetzt in meinem ingrident Modell auch has_one Variante und has_one Produkt zur gleichen time.how sollte ich meine Assoziationen möchte ich gesetzt .Ich kenne mehrere Assoziationen mit der gleichen Tabelle, aber nicht wissen, wie Sie es in meiner App implementieren.Ich benutze Mongoid als meine Datenbank.
Edit: Eigentlich in meinem Fluss Benutzer kann ein Produkt mit vielen Varianten erstellen und dann jede Variante kann mehrere ingridients.In, dass jedes ingrident ich Auswahlbox für die Auswahl von Produkten und Varianten Datenbank .means ingridients wird ein Produkt ein Variante, Quantität usw. Felder. Um es klarer zu machen, mache ich ein Rezept .
Warum brauchen Sie 'has_one'? Sie können auf dieselbe Variante zugreifen, indem Sie 'self.variant' von innerhalb von 'Ingredient' aufrufen. Wie sind beide verschieden? –
tatsächlich in meinem Datenfluss, ich ein Produkt mit mehreren Varianten erstellen, dann habe ich mehrere ingridients für jede varients.and in ingridients Ich habe ein Auswahlfeld, um product_name und variant_name wieder von datenbank.so jedes ingridient soll ein Produkt und eine Variante. –
Und das kann man nicht mit 'gehört'? –