Ruby on Rails에서 문자열을 검색하려면 어떻게해야합니까?Ruby on Rails 3에서 활성 레코드로 텍스트를 검색하는 방법은 무엇입니까?
예를 들어 "text"가 포함 된 열이있는 모든 레코드입니다.
액티브 레코드에 대한 방법이 있습니까? 아니면 SQL에 "좋아요"를 사용해야합니까?
또는 레일에
3 새를 사용하여Model.where(["name LIKE :tag", {:tag => tag}])
로이 쓰기 것 -이 : 태그 @bjg의 의견에 따라 문자열
가 포함 된 변수가
과 같이 질의를 작성하여 액티브 레코드에서 검색 할 방법이 없다. 모든 테이블과 열에 한 문자열이 들어 있습니까? –
모든 테이블 검색은 다음과 같은 원시 쿼리로 수행 할 수 있습니다. 'SELECT'table1 'AS 테이블 이름, id FROM 테이블 1 WHERE c1 LIKE "% 텍스트 %"또는 c2 LIKE "% 텍스트 %"UNION ALL SELECT'table2 'AS table_name, id FROM table2 어디에서 c3 LIKE "% text %"',하지만 그렇게하지는 않겠지 만 완전히 어색합니다. MySQL을 사용하고 있다면, http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html과 같은 몇 가지 전체 텍스트 인덱싱 기능이 있습니다. 그러나 나는 그것이 얼마나 좋은지 잘 모릅니다. 필자는 다른 관계형 데이터베이스의 전체 텍스트 검색 지원에 대해 알지 못합니다. 요약 - AR은 도움이되지 않습니다. 가능한 경우 전체 텍스트 인덱싱 소프트웨어를 사용하십시오. – skalee
방금 전에 발견되었지만 http://snowgiraffe.com/rdocs/ar-extensions/classes/ActiveRecord/Base.html – skalee