Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Gibt es eine bewährte/kohärente Methode zum Aktualisieren eines Datenbankfelds, das einen Hash-Schlüsselwertspeicher enthält?

Wenn ich die Frage verstehe, denke ich, dass Sie nur den Feldnamen deklarieren müssen, der den Speicher enthält, und die zugehörigen Accessoren (Eigenschaften) im Modell, wie

store :settings, accessors: [ :weight, :length, :color ]

An diesem Punkt funktioniert das Feld mit AR und AREL wie jedes andere, sogar mit Formularen.

Hier gibt es sehr wenig Magie. Das Feld enthält einen Hash von Werten; Die Store-Deklaration teilt Rails mit, dass Sie sie wie etwas.Gewicht oder etwas.Farbe referenzieren können, ob beim Lesen oder Schreiben. Einfach und glatt. Klassisches DHH.