2014-03-30 3 views
0

Sunspot을 검색에 사용하고 있으며 내 쿼리가 결과를 반환하지 않습니다. 검색을 위해 API를 사용하고 있습니다. 여기 Sunspot이 빈 결과를 반환합니다.

는 몇 가지 관련 코드 :

class App < ActiveRecord::Base 
    searchable do 
    text :name, :boost => 5 
    text :description 
    end 
end 

컨트롤러 :

module Api 
    module V1 
    class AppsController < ApiBaseController    
     respond_to :json 

     class App < ::App 
     end 

     def index 
     @search = App.search do 
      fulltext params[:search] 
     end 
     @apps = @search.results 
     respond_with @apps 
     end 
    end 
    end 
end 

나는 일반적으로 검색없이 AppsController에 인덱스 방법에 액세스하는 데 사용하는 URL이 http://0.0.0.0:3000/api/apps 검색을 시도, I http://0.0.0.0:3000/api/apps?search=test 내 검색 URL이 정확합니까? 아니면 비슷한 이름이어야합니까? http://0.0.0.0:3000/api/apps?name=test 여러 URL 형식을 시도했으며 내 DB에 데이터가 있더라도 모두 빈 결과를 반환합니다. 나는 또한 여러 번 색인을 다시 작성했으며 색인 된 6 개의 항목이 올바른 것으로 나타났습니다. 무슨 일이 일어나고 있는지에 대한 아이디어가 있습니까?

편집 : api를 사용하지 않고 웹 앱에서 검색 할 때 제대로 작동합니다. API url에서 호출 할 때 단지 빈 값을 반환합니다

+1

y 컨트롤러의':: App' 하위 클래스를 사용하고 있습니까? –

+0

실제 모델과 다른 API 요청에 일부 데이터를 추가하고자 할 경우를 대비해 – theDazzler

+0

그냥 지금은 주석으로 처리해야합니다. – theDazzler

답변

1

컨트롤러에서 서브 클래스로 ::App을 제거하려고합니다. 내 추측에 의하면 흑점이나 activerecords 추론 메커니즘이 테이블 < -> 클래스 명명 규칙과 관련하여 망가져있다.

관련 문제