Beste Ansatz, um zu sparen, Benutzer-Einstellungen?

Habe ich gesehen, zwei verschiedene Ansätze, das speichern von Benutzervorgaben.

ANSATZ 1:
Serialisieren Sie, und speichern Sie in einem der Spalte der Tabelle USERS

ANSATZ 2:
Erstellen einer separaten Tabelle EINSTELLUNGEN und stellen Sie eine has_many-Zuordnung von BENUTZER-EINSTELLUNGEN.

Welche der beiden oben genannten Ansätze würdet Ihr bevorzugen und was sind die vor-und Nachteile der einzelnen über andere?

  • Welche Art von Vorliebe du speichern? Boolean ist? Mehrere Elemente?
  • das wäre Mehrere Elemente. Ich Neige dazu, lehnen in Richtung der Option 2, aber durch den Blick auf die Schienen serialisieren option, ich fühle mich wie die Verwendung von Hash-als eine option, option 1 erreicht werden könnte, mehr oder weniger ähnlich zu option 1, da durch eine nicht mit einer anderen Tabelle und weitere SQL-joins. Jedes feedback wird sehr geschätzt. Auch, was genau Sie Jungs, die meinen, durch überladen der Tabelle BENUTZER alle Einstellungen werden gespeichert-Einstellungen-Spalte nur.
  • Unordnung bedeutet, dass der Benutzer-Tabelle ist jetzt eher verwirrend, weil es nicht mehr als nur (wie ich vermute) halten Sie login/name-information. Wenn Sie serialisieren, es bedeutet mehr Arbeit, wenn Sie brauchen, um sich die Dinge zu. Im Grunde müssen Sie analysieren ALLE Einstellungen JEDES mal, wenn Sie brauchen, um wissen ein. Setzen Sie die Einstellungen (wenn es nur ein paar) als Felder der user-Tabelle ist besser als die blob-o' prefs, weil Sie nicht haben, zu betrachten, alle prefs zu finden, aus eine.
  • danke für das feedback, also option 2 ist es dann.
  • "Im Grunde müssen Sie analysieren ALLE Einstellungen JEDES mal, wenn Sie müssen eines wissen" -- ja, und das Parsen von YAML ist unglaublich schnell. FWIW, niemand gibt irgendwelche realen Gründen hier, es ist Reine religion.
  • Ich Stimme zu: wenn Sie als Attribute abgelegt, dann jedes Attribut wird analysiert, jedes mal, wenn das Objekt aus der Datenbank geladen wird. Gleiche Problem.
  • für schiene 4 - api.rubyonrails.org/classes/ActiveRecord/Store.html

Schreibe einen Kommentar