2017-01-20 4 views
0

Meine Anwendung hat die folgenden Assoziationen. A: Bewertung has_many: Kommentare, jeder Kommentar hat einen: user mit a: username. In meiner Winkelansicht wird der folgende Code nicht angezeigt.Verschachtelte Assoziationen in Angular Ng-Wiederholung

<div ng-repeat="comment in review.comments"> 
{{comment.user.username}}-{{comment.created_at.strftime('%v')}} 
</div> 

Wie bekomme ich sowohl den Benutzernamen als auch die created_at-Zeit, die in meiner Ansicht angezeigt wird? Ich glaube es hat mit dem Render-JSON in meiner Show-Methode in meinem Review-Controller zu tun. Ich bin mir nicht sicher, wie ich es strukturieren soll.

Lassen Sie mich wissen, wenn Sie Fragen haben. Danke im Voraus!

Antwort

1

Sie wahrscheinlich enthalten Sie Code von Schienen-Controller haben sollte, würde aber meine beste Vermutung sein:

Index-Methode:

render json: Review.eager_load(comments: [:user]).all.as_json(include: [comments: {include: [:user]}]) 

Show-Methode:

render json: Review.eager_load(comments: [:user]).find(params[:id]).as_json(include: [comments: {include: [:user]}]) 
+0

Sehr cool! Vielen Dank. Wie würde die created_at ihr Format ändern? Ich zeige es an, aber es ist nur das Standardformat. – hangloos

+0

{{comment.created_at | date: 'longDate'}} siehe [angulars Dokumentation für den Datumsfilter] (https://docs.angularjs.org/api/ng/filter/date), um die vollständige Liste der Datumsoptionen anzuzeigen –

Verwandte Themen