¿Alguien conoce la mejor consulta para buscar registros creados este mes en Rails 3.1?¿Cómo encontrar registros creados este mes en Rails 3.1?
Respuesta
class Model
scope :this_month, -> { where(created_at: Time.now.beginning_of_month..Time.now.end_of_month) }
end
se le puede llamar así:
Model.this_month
limpio y ordenado, 1 – apneadiving
hace esto sqlite Workin? Estaba tratando de ejecutar esto en sqlite y lanza ActiveRecord :: StatementInvalid: SQLite3 :: SQLException: cerca de "<": error de sintaxis: SELECCIONE "pedidos". * FROM "orders" WHERE (created_at> '2011-11- 01 04: 00: 00.000000 'Y <' 2011-12-01 04: 59: 59.999999 ') \t de /Users/mrchess/.rvm/gems/ruby-1.9.2-p290/gems/sqlite3-1.3.4 /lib/sqlite3/database.rb:91:in 'initialize ' – kidcapital
Hmm, intente' BETWEEN': '" created_at ENTRE? Y? " –
Depende de si su búsqueda de todos los registros de todos los modelos o en un modelo específico, etc ...
Para un solo modelo que podría hacer:
User.where('created_at >= ? and created_at <= ?', Time.now.beginning_of_month, Time.now.end_of_month)
prefiero SQL-menos:
Model.where(:created_at => Time.now.beginning_of_month..Time.now.end_of_month)
o como un ámbito de aplicación:
class Model < ActiveRecord::Base
scope :this_month, -> { where(:created_at => Time.now.beginning_of_month..Time.now.end_of_month) }
end
Las respuestas que proporcionan scope
ejemplos están equivocados. Rails usa una evaluación entusiasta de los ámbitos y, por lo tanto, Time.now.beginning_of_month
siempre será el comienzo del mes cuando se evaluó inicialmente el alcance. La forma correcta de usar las fechas en un ámbito es pasar una lambda al scope
.
class Model < ActiveRecord::Base
scope :this_month, -> { where(created_at: Time.now.beginning_of_month..Time.now.end_of_month) }
end
En Rails 4 ámbitos deben utilizar un objeto invocable como Lambda
o Proc
- 1. Registros grupales por mes y año en Rails
- 2. ¿Cómo encontrar un registro creado el mes anterior?
- 3. Cómo crear ventanas emergentes en Rails 3.1
- 4. Capistrano para Rails 3.1
- 5. Rails 3.1 include_root_in_json
- 6. Rails 3.1 Rutas API
- 7. Rails 3.1 Ransack HABTM
- 8. Authlogic Rails 3.1
- 9. Instalación de Rails 3.1
- 10. Rails 3.1 - CSRF ignorado?
- 11. Rails 3.1 Mongoid has_secure_password
- 12. Sprites in Rails 3.1
- 13. Actualización de Rails 3 a Rails 3.1
- 14. Cómo consultar todos los registros creados hoy (medianoche UTC..Actualmente)
- 15. Controladores de plantilla Rails 3.1
- 16. Mysql: Contar registros (incluyendo cero) por mes
- 17. Registros de recuento creados en los últimos 7 días
- 18. Heroku, Rails 3.1 y Dalli
- 19. blueprint css rails 3.1 ayuda
- 20. Cómo encontrar la semana del mes
- 21. ¿Cómo puedo desactivar Rails 3.1 Asset Pipeline?
- 22. Contraseña generada aleatoriamente Rails 3.1
- 23. Rails número de semanas en el mes
- 24. Recuperando registros creados por PersistenceSpecifications en Fluither NHibernate
- 25. Cómo probar rutas en un motor montable Rails 3.1
- 26. ¿Cómo actualizar una aplicación Rails 3.0 a Rails 3.1?
- 27. Autorización en Rails 3.1: CanCan, CanTango, declarative_authorization?
- 28. Rails 3.1 Asset StyleSheet sorting
- 29. Rails 3.1- error gema therubyracer
- 30. Tutorial de implementación de aplicaciones Rails 3.1
Debe añadir más detalles ... como la definición del modelo – lucapette