Weil @table eine Instanzvariable von OpenStruct ist und Objekt # as_json gibt den Hash der Instanzvariablen zurück .
In meinem Projekt habe ich OpenStruct # as_json implementiert, um das Verhalten zu überschreiben.
%Vor%Ich komme um das Problem herum, indem ich OpenStruct wie folgt untergliedere:
%Vor%Dann können Sie einfach wie folgt in JSON konvertieren:
%Vor%Ordentlich, nicht wahr? Als Antwort auf Ihre Frage schreiben Sie stattdessen Folgendes:
%Vor%geben Ihnen:
%Vor% Ich fand die anderen Antworten etwas verwirrend, als ich hier landete, um herauszufinden, wie ich mein OpenStruct in ein Hash
oder JSON verwandeln konnte. Um dies zu verdeutlichen, kannst du einfach marshal_dump
auf deinem OpenStruct
aufrufen.
Ich persönlich wäre zögerlich gegenüber affe-patch OpenStruct
, es sei denn, du tust es in einer Unterklasse, da es unbeabsichtigte Konsequenzen haben könnte.
Tags und Links ruby ruby-on-rails