ScopesWarum würden Sie einen Bereich verwenden, wenn Sie normale Ruby-Klassenmethoden verwenden könnten?
class Comment < ActiveRecord::Base
scope :most_recent, -> (limit) { order("created_at desc").limit(limit) }
end
Umfang
@recent_comments = Comment.most_recent(5)
Klassenmethoden
In-Modell
def self.most_recent(limit)
order("created_at desc").limit(limit)
end
im Regler
@recent_comments = Comment.most_recent(5)
Warum würden Sie einen Bereich verwenden, wenn Sie normale Ruby-Klassenmethoden verwenden könnten?
würde ich nicht ..... –
sauber Erklärung des Unterschieds ist hier: http://blog.plataformatec.com.br/2013/02/active-record-scopes-vs-class-methods/ – twonegatives