scope_builder를 사용하여 활성 레코드 모델 검색 () 메소드에서 지정된 범위를 조건부 빌드
-
08-07-2019 - |
문제
나는 Ryan Bates의 우수한 것을 사용하고 있습니다 SCOPE_BUILDER 활성 레코드 모델의 Search () 메소드에서 사용할 새 명명 된 범위를 조건부로 구축합니다.
예제 문서는 다음과 같은 작업을 수행 할 수 있음을 보여줍니다.
# in product model
def self.search(options)
scope_builder do |builder|
builder.released.visible
builder.cheap if options[:cheap]
end
end
그러나 일부 옵션이 통과 한 내 모델에 위의 코드의 관련 버전을 포함시키고 Call Search ()를 포함 할 때, 반환되는 것은 ScopeBuilder :: Builder의 인스턴스이며 옵션으로 사슬로 명명 된 범위를 실행 한 결과가 아닙니다. 나는 지나갔습니다. 그것이 내가 기대할 것입니다.
내 질문은 다음과 같습니다. 빌더의 인스턴스 대신 빌더 (옵션)를 실행 한 결과를 얻으려면 어떻게해야합니까?
제휴하지 않습니다 StackOverflow