Pregunta

Estoy usando Thinking Sphinx para la búsqueda de texto completo, siguiendo este video .

Me gustaría hacer lo siguiente:

@articles = Article.search(params[:search], :conditions => "published_at IS NOT NULL", :order => :created_at)

El problema es que esto no funciona. Parece que el método de búsqueda solo acepta condiciones que son un hash. He intentado un par de formas, pero no tengo ni idea de cómo puedo representar '' publicado_en NO ES NULO '' como un hash ...

¿Fue útil?

Solución

Se le dio la solución en Railscasts

  

Si desea * todos * los resultados de ese modelo para filtrar registros donde se haya publicado_en ES NULO, agregue 'donde' 'publicado_en NO ES NULO' ' a su bloque define_index.

     

Si es solo a veces, agregue updated_at como un atributo, y luego esfinge debería almacenar fechas nulas como 0, para que pueda filtrar usando: sin = > {: updated_at = > 0}

La segunda solución era lo que necesitaba.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top