8 Stimmen

Alternativen zur Verwendung von Polymorphismus in Ruby on Rails

Ich schreibe gerade an einer Intranet-Webanwendung, bei der die Benutzer bei den Administratoren Anträge auf Hinzufügung verschiedener Ressourcen stellen können. Die Beispielanforderungen wären:

  • Installation von Programmen, in diesem Fall wählt der Benutzer aus, welches Programm er installieren möchte
  • In diesem Fall gibt der Benutzer einfach die Menge an Speicherplatz ein, die er benötigt, oder er wählt die vordefinierten Mengen aus - 1 GB, 10 GB usw...
  • einen neuen E-Mail-Alias erstellen, in diesem Fall muss der Benutzer nur den Alias eingeben.
  • ...

Ich habe mir überlegt, nur ein Modell UserRequests mit dem Verweis auf den Absender und zwei optionalen Attributen, eines wäre reference_id, das auf andere Tabellen verweist (z.B. (z.B. das Programm, das er installiert haben möchte) und ein weiteres würde für freie Felder wie E-Mail-Alias oder Quote.

Mein Problem besteht also darin, dass das Modell je nach Art der Anfrage entweder enthalten sollte:

  • Verweis auf andere Tabelle
  • Integer-Daten
  • Kettendaten

Basierend auf dem Typ der Anfrage sollte die angegebene Aktion ausgeführt werden - wahrscheinlich ein E-Mail-Alias könnte von Rails aus hinzugefügt werden, aber die Anwendung auf dem Computer des Benutzers wird von Hand installiert.

Hatte jemand ein ähnliches Problem? Glauben Sie, dass die Verwendung von Polymorphismus für diese Art von Dingen eine gute Idee ist? Haben Sie Vorschläge, wie man die Daten in den Tabellen organisieren kann?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X