Ich versuche, alle Datensätze einer bestimmten Tabelle mit ihren zugeordneten Daten zu erhalten, wenn sie aus dem Modell aufgerufen werden. Ich habe verschiedene Optionen ausprobiert, aber ich kann es nicht herausfinden.Schienen enthalten alle zugehörigen Daten in Get alle Anfrage
Ich habe aa Schienen Struktur wobei: (nehmen alle Klassen erben von Active: base)
class Post
has_many :image
has many :comment
end
class Image
belongs_to :post
end
class Comment
belongs_to :post
end
Grundsätzlich möchte ich mit allen zugehörigen Daten in meinem Beitrag Klasse (oder Modell), um alle Beiträge bekommen . Zum Beispiel:
Post.all (but then here do something to include each post's images and comments)
Ich habe diese beiden Optionen ausprobiert, aber sie haben nicht die zugehörigen Daten
Post.all.eager_load(:image, :comment)
Blog2.all.includes(:image, :comment)
In meinem Controller kehre ich ein Index-Methode
def index
@posts = Post.all
render json: @posts, :include => [:image, :comment]
end
dieser Index Methode funktioniert haben perfekt und enthält die zugehörigen Daten mit jedem Datensatz, aber wenn ich versuche, alle Beiträge mit ihren zugehörigen Daten im Modell zu bekommen, kann ich nicht zur Arbeit kommen. Danke für die Hilfe
Haben Sie versucht, 'Post.joins ([: Bild,: Kommentar]). All'? Sie können '' Post.joins ([: image,: comment]). To_sql' in 'rails console' ausführen und sehen, was' sql' generiert wird. – Dharam
Und Sie müssen 'render json: @ posts.to_json (: include => [: image,: comment])' 'verwenden, um die Assoziationen nach json zu exportieren. – Dharam