Ich habe folgende Klassen definiertnicht definierte Methode `Schlüssel für Null: NilClass beim Aufruf to_json auf beliebige Klasseninstanz
class Post
include ActiveModel::Serializers::JSON
attr_accessor :id,
:title,
:status,
:meta
def attributes
{ 'id' => nil, 'title' => nil, 'status' => nil, 'meta' => nil }
end
end
class PostMeta
include ActiveModel::Serializers::JSON
attr_accessor :id,
:key,
:value,
:description
def attributes
{ 'id' => nil, 'key' => nil, 'value' => nil }
end
end
Wenn ich versuche, to_json
zu nennen es Fehler erwähnt ergibt. Hier ist, wie ich Setup die Daten
post = Post.new
post.id = 1
post.title = 'test'
post.status = 0
meta = PostMeta.new
meta.id = 8
meta.key = 'cloud'
meta.value = 'wpengine'
post.meta = meta
post.to_json
Wenn ich nicht meta
in post
setzen Sie dann ist es nicht den Fehler geben. Wenn ich meta
mit einer aktiven Datensatzinstanz festlegen, funktioniert es auch ohne Fehler.
Kann jemand vorschlagen, was ich in den oben genannten Klassen fehlt?