2013-07-30 20 views
5

Tüm kayıtları bir “Project Fox” sözcüğünde içeren bir Project modelinden almaya çalışıyorum. Aktif bir rekor arama yapmak ve belirli project_names dönün 'Kahverengi Fox' gibi olabilir:Raylar Aktif Kayıt Arama - Adı bir sözcük içerir

@projects = Project.where("project_name like ?", "Brown Fox") 

Ama 'Fox' DAHİL bütün isimleri dönmek istiyorsanız tam proje adı olmadıkça, bu işe yaramazsa 'Tilki':

@projects = Project.where("project_name like ?", "Fox") 

ben isimlerinde yer alan 'Tilki' ile tüm nesneleri döndüren bir arama yapmak nasıl? Eğer sorgu kelimesi durumda görmezden sonuçları dönmek istiyorsanız, PostgreSQL ilike yerine like kullanabileceği

@projects = Project.where("project_name like ?", "%Fox%") 

Not:

cevap

8

deneyin kullanarak:

variable = "Fox" 
Project.where("project_name like ?", "%#{variable}%") 
+0

teşekkürler. Bu yaptı. – JakeTy

0

SQL % operatörünü kullanabilirsiniz.

+0

dediği gibi kullanabilirsiniz. – JakeTy

0

Eğer ransack denediniz mi? Eğer gerekenler için çok fazla olduğunu düşünüyorsanız

altüst ile

@projects = Project.search(:project_name_cont => "Fox") 

gibi bir şey yapabilirsiniz. % operatörünü, MurifoX'un

+0

Teşekkürler. Şimdi Ransack'a bakıyorum. – JakeTy

İlgili konular