Ich schreibe einen Serializer, der has_one :source
enthält. source
kann eine Reihe von verschiedenen Arten sein. Ich versuche, den JSON kleiner zu machen, wenn source
ein Foo
von overriding the association methods ist. Ich versuchte dies:Bedingt überschreiben einer aktiven Modell-Serializer-Assoziationsmethode
def source
return super unless source_type == 'Foo'
render json: source, serializer: LimitedFooSerializer
end
Aber dann bekomme ich keine übergeordnete Klasse Methode `source‘.
Dann habe ich versucht:
def source
render json: source unless source_type == 'Foo'
render json: source, serializer: LimitedFooSerializer
end
Aber dass Fehler Stack-Ebene zu tief; Vermutlich ist es eine unendliche Rekursion.
Wie kann ich bedingt die Assoziationsmethode überschreiben?