2011-01-12 11 views
5

He estado siguiendo Railscast para agregar la búsqueda, clasificación y paginación a mi aplicación. Modifiqué mi lógica de búsqueda en el modelo para buscar columnas (descripción y título). Esto parece estar funcionando. También lo cambié a búsqueda no sensible a mayúsculas y minúsculas. Esto parece funcionar perfectamente en mi aplicación local, pero cuando lo presiono en heroku, solo puedo buscar en minúsculas. Buscar con letras mayúsculas no produce ningún resultado, incluso si el caso coincide con los resultados.Sintaxis MySQL en Rails 3, NO es una búsqueda sensible a mayúsculas, no funciona en Heroku?

Este es el código en mi modelo:

def self.search(search) 
    if search 
     where('LOWER (description) LIKE ? OR LOWER (title) LIKE ?', "%#{search}%" , "%#{search}%") 
    else 
     scoped 
    end 
    end 
+0

No estoy seguro de que este sea tu problema, pero heroku usa Postgres, por lo que cualquier sintaxis específica de MySQL no funcionará (sin embargo, no sé si algo de eso es específico de mysql). – cam

+0

Ese no debería ser el problema: Postgres también tiene una función INFERIOR. –

Respuesta

5

Trate

where("LOWER (description) LIKE ? OR LOWER (title) LIKE ?", "%#{search.downcase}%" , "%#{search.downcase}%") 
+0

Gracias David, pero esto desafortunadamente devolvió un error de sintaxis de MySQL – Elliot

+0

Edité mi respuesta (había leído mal su pregunta). ¿Funciona esta consulta? –

+0

¡Eso funcionó perfecto! Gracias David! – Elliot

Cuestiones relacionadas