2017-04-03 30 views
0

Ich habe eine schnelle und ziemlich grundlegende Frage zu stellen. Ich möchte ein neues Modell erstellen, das einen Parameter hat, der einer von mehreren Modelltypen sein kann. Bsp: der Parameter 'targeted_object' kann entweder eine Instanz von Model A oder eine Instanz von Model B sein. Im Moment glaube ich nicht, dass ich ein ähnliches Verhalten für Model A und Model B brauche, also denke ich zuerst Erstellen Sie ein Master-Modell für Model A und Model B mit dem Namen TargetableObject: create vererbung. Aber ist es der beste Weg, dies zu tun, oder muss ich etwas anderes in Bezug darauf machen, dass ich jetzt kein verwandtes Verhalten für Master-Objekt-Kinder voraussetze?Ruby: Erbe oder etwas anderes

Dank

+0

Klingt wie [einzelne Tabelle Vererbung] (https://eewang.github.io/blog/2013/03/12/how-and-when-to-use-single-table-inheritance-in-rails /) ist was du brauchst. – mudasobwa

+0

danke für deine Antwort Ich werde es lesen :) –

Antwort

0

Wenn ich verstehe, Polymorphic associations könnte richtig sein, was Sie brauchen.

Von den Schienen führt:

Mit polymorphen Assoziationen kann ein Modell zu mehr als einem anderen Modell gehören, auf einem einzigen Verband. Sie können beispielsweise ein Bildmodell haben, das entweder einem Mitarbeitermodell oder einem Produktmodell angehört.

+0

Es ist keine Eigenschaft gehört, aber mehr ein generischer Typ als T in Java. –