Ich habe 3 Modelle Benutzer, Auflistung und Nachricht. Ich möchte, dass ein authentifizierter Benutzer viele Einträge hat. Die Einträge können dann mehrere Nachrichten enthalten. Die Nachrichten sind also über das Listenmodell an den Benutzer gebunden. Ich bin in der Lage, eine Benutzerliste zu erhalten, aber nicht in der Lage, die Benutzernachrichten zu erhalten, die er durch die Auflistungen besitzt. Hier sind die Assoziationen, die ich derzeit habe.Wie greife ich auf Datensätze von einem verschachtelten Modell mit 2 Ebenen zu
class User < ActiveRecord::Base
has_many :listings, :dependent => :destroy
end
class Listing < ActiveRecord::Base
belongs_to :user
has_many :messages
end
class Message < ActiveRecord::Base
belongs_to :listing
end
Um eine Nachricht zu erstellen, mache ich einfach dies;
@listing = Listing.find(params[:listing_id])
@message = @listing.messages.build(params[:message])
Und bekommen die Auflistung des Benutzers ich habe dies;
@user_listings = Listing.user_listings(current_user)
Aber die auf die Objekte des Benutzers gebunden Nachrichten immer erweist sich als schwer zu sein. Was mache ich falsch oder wie gehe ich vor? Hilfe geschätzt.
Wo kommt user_listings in diese kommen? – mark
markieren, das ist, weil es keine Möglichkeit gibt, die Nachrichten zu erhalten, es sei denn, Sie erhalten die Benutzerlisten. Das Nachrichtenmodell ist ein Enkel des Benutzermodells, obwohl keine direkte Verbindung zwischen den beiden Modellen besteht. –