Ich habe ein einfaches Modell:aktive Modell-Serialisierer respond_with verursacht undefinierte Methode "to_model"?
class Receipt
include ActiveModel::Serialization
attr_accessor :products
end
und mein Controller tut:
def create
respond_with receipt, :serializer => ReceiptSerializer
end
und den Serializer:
class ReceiptSerializer < ActiveModel::Serializer
attributes :products
end
und ich bekomme:
NoMethodError: undefined method `to_model' for #<Receipt:0x007f99bcb3b6d8>
Doch wenn ich ändern meine Controller:
def create
json = ReceiptSerializer.new(receipt)
render :json => json
end
dann funktioniert alles gut ... was geschieht ???
Ich verwendete active_model_serializers 0.9.3, aber gerade versucht 0.10.2, und die Ergebnisse sind die gleichen.
oh, ich dachte, respond_with war die richtige Art, ActiveModelSerializers zu verwenden? Hat sich das geändert? – patrick
Ich habe es nie in den 6 Jahren der Verwendung von Rails so verwendet. Aber das bedeutet nicht, dass es nicht zu einer bestimmten Zeit der richtige Weg war. https://github.com/rails-api/active_model_serializers/blob/master/docs/general/rendering.md – Genzume
reply_with verschoben zu einem Juwel: https://stackoverflow.com/questions/25998437/why-is-respond- mit-von-Schienen-4-2-in-its-own-gem-entfernt werden –