Erweiterung auf recent_posts_on_self unten, Ich möchte eine all_recent_posts_on_self Methode hinzufügen, aber ich bin mir nicht sicher, ob es möglich ist mit der Syntax self.posts.find. Auf der anderen Seite scheint all_recent_posts_on_class einfach zu sein.Ist es möglich, in self.posts.find über das Selbst hinauszuschauen?
Im obigen Beispiel habe ich zwei Möglichkeiten, um die letzten Blogposts zu finden, die einem Benutzer zugeordnet sind. Ich kann Post.find aufrufen und die author_id übergeben oder ich kann self.posts.find aufrufen und muss keine Autoren-ID übergeben. Ich nehme an, dies liegt daran, dass im zweiten Fall self.posts bereits auf Basis des Primärschlüssels des Benutzerobjekts und der mit diesem Benutzer verknüpften has_many: -Posts eingeschränkt wurde. Dies ist ein Vorteil in diesem Fall, da ich nicht die Mühe machen muss, author_id als Argument zu übergeben. Aber wenn ich die Abfrage nicht nach Autor einschränken müsste, wäre es möglich, einen all_recent_posts_on_self dafür zu erstellen?
Was ich rede ist ein Äquivalent dieser Methode (die die auslässt: Bedingungen):
def all_recent_posts_on_class
Post.find(:all, :order => 'created_at asc', :limit => 5)
end
Aber mit self.posts.find statt Post.find:
def all_recent_posts_on_self
self.posts.find(...)
end
auch:
auch wenn es möglich ist, self.po zu verwenden sts.find, um dies zu tun, ist es "besser", Post.find zu verwenden?
Das ist wirklich nett. Ich wusste nicht, dass du das kannst. Vielen Dank. –