Attualmente sto scrivendo un metodo di ricerca per le mie applicazioni rails e al momento funziona correttamente. Ho il seguente nel mio game.rb:Cerca più colonne - 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
Ora che cerca bene, ma il mio problema è che se c'è un record in GAME_NAME che ha la parola 'playstation' in esso, si concluderà la ricerca ci . Restituisce solo quel record, piuttosto che tutti i giochi che hanno "playstation" archiviati nella console. Ora capisco questo perché ho "O" nelle mie condizioni, ma non conosco un'alternativa. 'AND' richiede che tutte le condizioni corrispondano o che non vengano restituite affatto. Qual è un'alternativa che posso usare per AND e OR? L'aiuto sarebbe molto apprezzato.
Se esiste una soluzione con caselle di ricerca e voci separate, non è necessario che la ricerca trovi tutto in base a un modulo di ricerca.
può essere una soluzione per voi è quello di utilizzare un gioiello per ciò che si vuole come https://github.com/ernie/meta_where – Awea