Desde "created_at" columna contiene la fecha y la hora, pero hay que comparar única fecha, tiene dos formas (supongo que utiliza MySQL):
- uso ENTRE:
scope :today, lambda { WHERE("created_at BETWEEN '#{DateTime.now.beginning_of_day}' AND '#{DateTime.now.end_of_day}'") }
- uso DATE() función:
scope :today, lambda { WHERE('DATE(created_at) = ?', Date.today)}
Además, puede agregar la columna "created_on" a la tabla con fecha solamente.
Actualizado:
def self.up
add_column table_name, :created_on, :date
add_column table_name, :updated_on, :date
end
scope :today, lambda { where(created_on: Date.today) }
¿Cómo le digo a los raíles (rake) que crear un campo de solo fecha? – fabian
Solo necesita agregar el campo "created_on" y "update_on" a la tabla. Estos nombres de columna son especiales, por lo que los valores serán configurados automáticamente por Rails. – BitOfUniverse
Alcance final: alcance: hoy, lambda { donde ("created_on =?", Date.today) } – fabian