0

Ich benutze Ember mit Schienen und Active_model_serializers.Wie man ember, rails und active_model_serializers eine Abfrage auf hasMany Beziehung ausführen?

Lets sagen, ich habe ein Modell namens Bericht und es hat viele Statistiken. Sagen wir, ein Bericht enthält 2000 Statistiken. Wenn ich anrufe:

Ich bekomme 2000 separate API-Aufrufe zu Statistiken und 2000 separate wählt aus meiner Datenbank.

Als ich hinzufügen include:['statistics'] an die Controller-Methode wie folgt:

def show 
    render json: @report, include:['statistics'] 
end 

ich das gleiche Problem bekommen.

Ich bin mir nicht sicher, ob ich etwas mit der ReportSerializer.rb-Datei zu tun habe, um eine Abfrage zu aktivieren, die 2000 für die Kommentarbeziehung entgegengesetzt ist.

In einer Nur-Rails-Anwendung generiert ein Aufruf an meine Zuordnung eine Abfrage. Und während ich feststelle, dass Glut nicht Schienen ist, denke ich, dass mir etwas Einfaches fehlt.

Also, wie mache ich den Zugriff auf die Assoziation auf meinem Modell generieren einen API-Aufruf und eine Abfrage? Oder zumindest minimieren Sie die Anzahl der API-Anrufe und Abfragen?

Added Info

Alle sind zugehörige Statistiken benötigt, so kann eine Operation auf Bericht erfolgen.

Antwort

0

Ich konnte keinen Weg für Glutendaten und mein Rails-Backend finden, um eine Abfrage und einen API-Aufruf zu erzeugen, um Assoziationen eines Modells zu erhalten. Also habe ich eine andere Methode im Report Controller erstellt, die nur das Senden der Assoziation behandelt.

def include_statistics 
    render json: Report.find(params[:id]).statistics.to_json 
end 

Und in meinem ember Client nenne ich folgendes:

$.ajax({ 
    type: 'GET', 
    url: '/api/v1/reports/1/include_statistics' 
}).then(points => { 
    //Do something 
}); 
Verwandte Themen