Dans Rails 3, j'ai créé un formulaire de recherche qui effectue une recherche avec des conditions dans le fichier Modèles.Rails faire un TROUVER avec des conditions?
@projects = find(:all,
:select => 'projects.*',
:conditions => ['name = ?', search_name]
).first
Cela fonctionne très bien si un nom est fourni dans le formulaire de recherche (nom_recherche). Le problème est si search_name est vide, Rails Errors (je ne peux pas dire que je le blâme) ...
Quelle est la façon intelligente de gérer cette situation? Je voudrais, si search_name est vide, ne pas erreur mais retourner tout.
Suggestions? Merci!
Très élégant. Quelle est la recherche de mon projet est par plusieurs champs comme (propriétaire, nom, date de création) et seulement le nom est facultatif? – AnApprentice
ne devrait-il pas être "scope: search_by (nom), lambda {| nom | first.where (: nom => nom) à moins que name.blank?}"? – ipsum
Votre juste ipsum ... corrigé! – Yannis