Ich erstelle eine Umfrage-Antwort-Datenstruktur in meiner Rails App, um Benutzerinformationen zu sammeln. Ich werde eine Mischung aus Multiple-Choice-, Zahlenfeld- und Open-End-Fragen stellen, so dass meine (MySQL-) Datenstruktur mit einem variablen Datentyp umgehen muss. Wie kann ich das erreichen? Mein aktueller Plan basiert auf einer früheren Antwort here:Rails: Erstellen einer Umfragedatenstruktur mit Variablenantworten
- User-Modell (das particpant)
- Umfrage-Modell (die Umfrage)
- Frage-Modell (die Frage gestellt)
- Choice-Modell (mögliche Wahl für Frage gespeichert in ‚Text‘ Spalte)
- Antwort-Modell (die Antwort, die die Wahl für den Teilnehmer Benutzer Links)
Dies funktioniert gut für nur Multiple-Choice-Text-Antworten mit Kontrollkästchen, aber was ist, wenn ich möchte, dass eine Antwort ein Integer-Feld (z. "Wie alt sind Sie?" Oder ein offenes Textfeld (z. B. "Was könnte verbessert werden?")?
Verschiedene Arten Felder
Ich stelle mir vor, dass eine Wahl oder Antwort-Modell mit mehreren Spalten für jede mögliche Art (zum Beispiel Text, integer, Datetime, etc.) schlecht sein würde, wie es unglaublich spärlich wäre.
Wären mehrere Choice-Tabellen für jeden Typ besser? (z.B. Choice_Text, Choice_Integer usw.)
Aber wie würde dann das Antwortmodell mit der richtigen Tabelle verknüpft?
Öffnen endete einzigartige Antworten
Sollte ich einzigartige Textantworten in dem Antwortmodell als eine andere Datenspalte oder in der Wahl Modell als neuen Eintrag jedes Mal?
Jede Hilfe würde sehr geschätzt werden. Prost!