Buscar por rango de fechas


#1

Hola a todos,
tengo una pequeña Web realizada con Rails en la que inserto noticias. El
problema que tengo es que quiero realizar búsquedas por rango de fechas,
pero no obtengo lo que busco:

  • Las noticias tienes el campo created_at, y se guardan con este formato
    2007-06-06 13:10:13
  • La función de búsqueda es:

@articles = Article.find(:all,
:conditions => [‘created_at >= ? AND created_at
< ?’, params[:search][:date_start], params[:search][:date_end]]

Con esto me lanza la búsqueda pero me devuelve todas las noticias y no
las que pertenecen al rango de fechas.

¿Alguna idea por favor?


#2

On 6/6/07, Josec removed_email_address@domain.invalid wrote:

                     :conditions => ['created_at >= ? AND created_at

< ?’, params[:search][:date_start], params[:search][:date_end]]

Con esto me lanza la búsqueda pero me devuelve todas las noticias y no
las que pertenecen al rango de fechas.

¿Podrías enviarnos el valor de params[:search]?

Quizás haciendo un:
raise params[:search].inspect

Además, la búsqueda la podrías escribir también así, creo:

date_start, date_end = params[:search][:date_start],
params[:search][:date_end]
Article.find(:all, :conditions => {:created_at => date_start…date_end})


#3

Hola,

Creo entender que lo que quieres hacer es buscar todas las noticas
que están comprendidas entre dos fechas

@articles = Article.find(:all,
:conditions => [ " created_at between ? and ? ",
params[:search][:date_start],
params[:search][:date_end] ])

Asegurate que :date_start y :date_end tengas el formato correcto de
fechas. Puedes comprobar en development.log la consulta
que esta ejecutando para comprobar que todo este bien.

Un saludo.

El 06/06/2007, a las 15:52, Damian J.
escribió:

2007-06-06 13:10:13

date_start…date_end})


Ror-es mailing list
removed_email_address@domain.invalid
http://lists.simplelogica.net/mailman/listinfo/ror-es


raúl naveiras removed_email_address@domain.invalid
/dev/null the ultimate in secure storage.