Ich habe 2 Modelle in meiner App: Person und Review Jede Person hat viele Bewertungen und jede Bewertung gehört zu einer Person. Ich habe ein Attribut grade
Innenseite meines Review-Modell genannt, und ich mag den durchschnittlichen Grad von jeder Person angezeigt werden, damit ich diesen Bereich geschrieben:So greifen Sie auf eine Eigenschaft von gehören_Modell aus einem Bereich
scope :average_grade, -> { self.first.review.average(:grade) }
Gibt es eine bessere Art und Weise, dass zu tun? Neben den 2-Abfragen, dass diese Methode braucht, muß ich auch noch 2 Abfragen ausführen, um das richtige Person Objekt in meinem Controller zu bekommen:
def show
@average = Person.includes(:review).where(id: params[:id]).average_grade
@person = Person.includes(:review).find(params[:id])
end
Wie kann ich alle diese Abfragen zu vermeiden?
Danke Durch die Art und Weise finden, warum das Verfahren nicht selbst braucht!? – Bezzi
cause 'self' Inside-Instanz-Methode kann weggelassen werden, wenn die Methode Instanz aufruft. – Ilya