Comment définir un named_scope de retourner tous les enregistrements qui ont été créés au cours des 7 derniers jours, et comment puis-je utiliser que la portée nommée dans un contrôleur?RoR: named_scope, tous les enregistrements créés au cours des 7 derniers jours?
Répondre
je vous recommande de regarder la Railscast Episode on named_scope.
Idéalement, le code que vous cherchez serait:
named_scope :recent,
lambda { |*args| {:conditions => ["created_at > ?", (args.first || 7.days.ago)]} }
Cela vous permettra de passer un paramètre à la portée du nom ou il sera par défaut sur les 7 derniers jours.
Vous appelez à l'aide:
MyModel.recent
Vous devez passer named_scope un proc il sera évalué chaque fois que l'appel à named_scope est exécuté. Sinon, si vous spécifiez Time.now, il s'exécutera une fois (au premier appel) et sera "mis en cache" jusqu'à ce que l'application soit redémarrée.
named_scope \
:this_week,
:conditions => [
%created_at > :time!,
proc {{:time => Time.now}}
]
Vous pouvez appeler le named_scope comme @ ar_object.this_week
cet exemple renvoie des erreurs. "type inconnu de% string% created_at" –
- 1. SQL Sélectionnez uniquement les joueurs ayant joué x nombre de parties au cours des derniers jours?
- 2. WebDAV et Exchange Server - les contacts ont-ils été modifiés au cours des X derniers jours?
- 3. Quelle est la meilleure façon de sélectionner les lignes des 7 derniers jours?
- 4. Entity framework obtenir les derniers enregistrements dans la liste des enregistrements avec la date
- 5. Créer un tableau des 30 derniers jours en utilisant PHP
- 6. Obtenir tous les enregistrements enfant
- 7. jQuery UI Datepicker: Sélectionnez 7 jours
- 8. Trouver tous les enregistrements sans les associés
- 9. Restauration des enregistrements créés par PersistenceSpecifications dans Fluent NHibernate
- 10. Renvoyer tous les autres enregistrements avec LINQ
- 11. Sélectionnez les 3 derniers enregistrements où les valeurs d'une colonne sont distinctes
- 12. SQL: Comment afficher les enregistrements pour 30 jours
- 13. Sélectionnez les plus vues De la dernière 7 jours
- 14. Supprimer tous les enregistrements d'une table
- 15. Récupération de tous les enregistrements - Inner join
- 16. Cron Job - Commande pour supprimer tous les fichiers .flv tous les jours
- 17. Filtrer un composant WebPart Affichage des données par "3 derniers jours"
- 18. Combien de jours ont eu lieu au cours d'une Timespan Compte tenu
- 19. Comment supprimer tous les enregistrements d'une table ayant des enregistrements correspondants dans une autre table
- 20. Rails: Comment trouver() tous les enregistrements uniques dans certains champs?
- 21. Aide pour trouver la différence (delta) à partir d'une valeur renvoyée par les deux derniers enregistrements
- 22. Additive Chaining avec named_scope
- 23. psycopg2 "TypeError: pas tous les arguments convertis au cours de formatage de chaîne"
- 24. Sharepoint: SQL pour trouver tous les documents créés/édités par un utilisateur
- 25. Comment supprimer efficacement tous les x enfants de l'entité parent sauf les derniers en utilisant NHibernate?
- 26. Hibernate Search - Comment lister tous les enregistrements par défaut
- 27. Comment trouver des enregistrements ajoutés à ma table de base de données au cours des dernières 24 heures?
- 28. Je veux afficher les clients en fonction d'une semaine de cinq jours sur un formulaire (tous les 5 jours à la fois)
- 29. jQuery.datePicker -calculer les jours
- 30. Comment puis-je me connecter à un site FTP et supprimer des fichiers datant de plus de 7 jours?
fonctionne très bien, merci. –
Je suis encore nouveau sur Rails, mais j'adore * cette fonction! –