Actualmente estoy escribiendo un método de búsqueda para mis aplicaciones de rieles, y por el momento funciona bien. Tengo el siguiente en mi game.rb:Buscar columnas múltiples - Rails
def self.search(search)
if search
find(:all, :conditions => ['game_name LIKE ? OR genre LIKE ? OR console LIKE ?', "%#{search}%", "#{search}", "#{search}"])
else
find(:all)
end
end
Ahora que busca bien, pero mi problema es que si hay un registro en GAME_NAME que tiene la palabra 'PlayStation' en ella, se termina la búsqueda allí . Solo devuelve ese registro, en lugar de todos los juegos que tienen 'playstation' almacenada en la consola. Ahora entiendo que esto es porque tengo 'O' en mis condiciones, pero no sé una alternativa. 'AND' requiere que todas las condiciones coincidan o ninguna regresa. ¿Cuál es una alternativa que puedo usar para AND y OR? La ayuda sería muy apreciada.
Si hay una solución que tiene cuadros de búsqueda y entradas separadas, entonces estaría bien, no necesariamente necesito que la búsqueda lo encuentre todo basado en un formulario de búsqueda.
puede ser una solución para usted es utilizar una joya para lo que quiere como https://github.com/ernie/meta_where – Awea