Ich habe eine Admin-Dashboard, die Beiträge erstellt in den letzten 24 Stunden zeigt, 7 Tage, 28 Tage usw.ROR: eine Methode mit einem Parameter Erstellen
def index
@1DayPosts = Post.where(created_at: 1.days.ago..DateTime.now).count
@7DaysPosts = Post.where(created_at: 7.days.ago..DateTime.now).count
@28DaysPosts = Post.where(created_at: 28.days.ago..DateTime.now).count
end
Wie kann ich diese in eine Linie? So etwas wie die folgende Liste:
def index
@calculatePosts(a) = Post.where(created_at: a.days.ago..DateTime.now).count
end
Dann in der Ansicht, die ich tun könnte:
[email protected](1)
Oder brauche ich, um eine neue Methode zu erstellen?
def calculatePosts(a)
@calculatePost = Post.where(created_at: a.days.ago..DateTime.now).count
end
Wie würde ich das dann in der Indexansicht aufrufen?
danke für die Lösung! Ist es besser, '@ last_10_days = Post.last_x_days (10) .count' im Controller aufzurufen und dann in der Ansicht' 'last_10_days' 'aufzurufen? Oder ist es besser, einfach '@ last_10_days = Post.last_x_days (10) .count' in der Ansicht aufzurufen? Oder spielt es keine Rolle? – BigL
Ist nicht wirklich wichtig, Sie können einfach 'Post.last_x_days (10) .count' in der Ansicht direkt aufrufen, brauchen nicht wirklich' @ last_10_days', es sei denn, Sie verwenden es an mehreren Stellen in der Ansicht. – Iceman