2013-07-30 3 views
5

프로젝트 이름에 'Fox'라는 단어가 포함 된 프로젝트 모델의 모든 레코드를 가져 오려고합니다. 내가 활성 기록 검색을 수행하고 특정 project_names를 반환, '브라운 여우'처럼 할 수Rails Active Record Search - 이름에 단어가 포함되었습니다.

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

을하지만 '폭스'를 포함하는 모든 이름을 반환 할 경우 전체 프로젝트 이름이 아닌 경우,이 작동하지 않습니다 '폭스':

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

이름에 'Fox'라는 단어가있는 모든 개체를 검색하는 방법은 무엇입니까? 당신이 당신의 쿼리 단어 케이스를 무시하고 결과를 반환 할 경우, 당신은 PostgreSQL을 ilike 대신 like를 사용할 수있는

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

참고 :

답변

8

시도해보십시오 :

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

. 이것은 그것을했다. – JakeTy

0

당신은 SQL % 연산자를 사용할 수 있습니다.

+0

이것도 효과가 있습니다! 덕분에 – JakeTy

0

당신은 ransack을 시도 했습니까? 당신이 당신이 필요로하는 것에 대해 너무 많이 생각한다면

는 더듬다하면

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

처럼 뭔가를 할 수 있습니다. 당신은연산자를 MurifoX와 같이 사용할 수 있습니다.

+0

감사합니다. 지금 Ransack을 들여다 보았습니다. – JakeTy

관련 문제