Da Mongo nicht relational ist, frage ich mich, wie man einen bestimmten Typ auf einer polymorphen Assoziation von has_many findet.mongoid wo auf has_many association
Ich habe 3 Modelle, [Ort, Stadt, Land &] alle 3 können Bewertungen haben (polymorphe)
Wie kann ich alle Beiträge mit einem bestimmten Modell Verein zurückkehren? Ich weiß, wie man es mit einer einfachen has_many-Assoziation macht, aber nicht mit einer polymorphen?
Normalerweise würde ich so etwas tun:
@user = User.where(username: params[:user]).first
@user ? @reviews = @reviews.where(user_id: @user.id) : @reviews = nil
Aber für eine polymorphe Vereinigung bin ich verloren?
#@reviews = params[:review_type].constantize if params[:review_type].present? #@reviews.reviewable.where(review_type: params[:review_type])
@reviews = Review.order_by([:updated_at, :desc]).page(params[:page])#.order(sort_column + " " + sort_direction)
Warum user.reviews' nicht verwenden '@? – MikDiet
Sorry, vielleicht war ich nicht klar, es ist nicht das Benutzermodell, ich habe das nur als Beispiel dafür benutzt, wie ich es normalerweise machen würde (nicht polymorph) – ere
Ich verstehe, aber polymorphe Assoziationen funktionieren ähnlich. So können Sie 'Place.first.reviews' oder' City.first.reviews' verwenden. – MikDiet