2014-11-11 3 views
0

과거 :ActiveAdmin에서 사용자 지정 필터의 하위 문자열을 검색하는 방법은 무엇입니까?

모델 User의 문자열은 first_name입니다. ActiveAdmin 모델에 filter :first_name을 쓰면 입력 필드 외에도 Contains, Equals, Starts with, Ends with 옵션이있는 드롭 다운이 표시됩니다. 예를 들어, Contains을 선택하고 ik을 쓰면, 예를 들어 Mike를 찾을 수 있습니다. 이제

:

난 그냥 단지 정확한 검색을 수행 두 개의 열을 가로 질러 걸쳐 큰 입력을받을 사용자 정의 필터를 사용하는 경우

. 내 필터를 다음과 같이 정의합니다.

  1. 모델에 범위를 만듭니다.
  2. ransackable_scopes으로 허용 목록.
  3. 다음과 같이 admin 모델에 추가하십시오 : filter :my_filter, as: :string.

하위 문자열을 검색하는 기능을 어떻게 얻을 수 있습니까? 당신이 사용해야하는 문자열을 검색하려면

답변

0

Ransack Search Predicate Syntax 즉, 당신이 이런 식으로 구성해야합니다 필드 first_name에 문자열을 검색하려면 : 당신은 나는 그것이 도움이되기를 바랍니다 here

더 많은 정보를 찾을 수 있습니다

filter :first_name_cont, as: :string, label: "Name" 

을 .

+0

모델의 열을 검색하려고하면이 기능이 잘 작동한다고 생각합니다. 그러나, 제 경우는 좀 더 복잡합니다, 내 검색 방법으로 범위를 사용하는 사용자 지정 필터를 사용하고 있습니다. 그래서 'contains'부분은 예를 들어 범위의 람다에서 어딘가에 먼저 정의해야한다고 생각합니다. . –