2012-06-05 4 views
0

내 프로젝트에서 사용자 선택에 따라 제품을 표시하려고합니다. 사용자는 그들이보고자하는 부서 (여성, 남성 및 어린이) 및 카테고리 (드레스, 탑, 티 등)를 확인할 수 있습니다. 확인란을 사용하고 있습니다. 사용자가 여성 부서 만 확인 (선택)하면 여성에게 속한 모든 제품이 표시됩니다. 사용자가 여성부와 드레스 카테고리를 모두 선택 (선택)하면 여성 부문과 드레스 카테고리에 속한 제품이 표시됩니다. 사용자가 여성 및 남성 부서 및 신발 범주를 모두 선택하면 여성 및 남성 부서 및 신발 범주에 속한 모든 제품이 표시됩니다. 이를 달성하려면 solr (태양 흑점 보석)을 사용하십시오. 내 질문은 department_id 및 category_id에 대해 동시에 여러 ID를 전달할 수 있는가하는 것입니다. 예를 들어검색 방법 코드를 작성하여 한 번에 둘 이상의 ID를 검색하는 방법

그것은 가능한 경우 수행하는 방법을 가르쳐주십시오

@search_res=ProductDetail.search do 
    with :department_id, 1,2,3     
    with :category_id, 1,2,3,4, etc (may be present or absent)   
end 

할 수 있습니까? 구문을 알려주시겠습니까? 도와주세요.

업데이트는 대답을 당신에게 살릴 감사하지만, 부서 ID와 카테고리 ID 년대이 경우 정적하지 않습니다. 나는 사용자가 런타임에 선택했을 때에 만 올 것이다. 수단 category_id와 department_id는 일반적입니다. 이것을 달성하는 방법. 이 같은 것을 원합니다.

@search_res=ProductDetail.search do 
    with :department_id, params[:deptid]     
    with :category_id, params[:catid]   
end 

도와주세요. 여기

답변

1

그것입니다 sunspot readme

:

@search_res=ProductDetail.search do 
    all_of do 
    with :department_id, [1,2,3]     
    with :category_id, [nil,1,2,3,4] # I am not sure - but category_id nil should be to denote its absence 
    end 
end 

더 많은 정보를 원하시면 참조