Ich verwende aktive Modell-Serializer, um JSON-Antworten von einem Rails-Controller zu rendern.Active Model Serializer, testet, welcher Serializer zum Rendern der Antwort verwendet wird
Ich habe eine Controller-Aktion wie folgt aus:
def show
@foo = Foo.find(params[:id])
if @foo.user == current_user
render json: @foo, serializer: FooSerializer
else
render json: @foo, serializer: TrimmedFooSerializer
end
end
Ich möchte testen können, welche Serializer in meinem Rspec Controller Tests verwendet wurde. Ist es möglich, einen Verweis auf den Serialisierer aus den Tests zu erhalten?
UPDATE:
Ich glaube nicht, dass dies eine korrekte Verwendung des Serializer. Ich habe jetzt Logik im Serialisierer selbst, um Attribute bedingt einzuschließen. Der Controller sollte sich nicht wirklich darum kümmern, welcher Serializer verwendet werden soll.
sehr elegant ein nützlicher Ansatz – Calin