2014-04-29 5 views
0

"undefined method 'order_by'"오류가 발생하지만 order_by 메소드가 Sunspot에 내장되어 있다고 생각합니다. 왜이 오류가 발생하고 어떻게 해결할 수 있는지 설명 할 수 있습니까? 내 모델 내에서Sunspot에 대한 정의되지 않은 메소드

내 검색 가능한 블록 :

searchable do 
    text :title, :street_address, :apartment_number, :city, :state, :zip 

    float :price 
    float :bathrooms 
    float :bedrooms 
    float :average_overall_rating 
end 

내 검색 컨트롤러 방법 :

def search 
    @search = Apartment.search do |query| 
    fulltext params[:search] 
    order_by(:average_overall_rating, :asc) 
    with_price(query) 

답변

0

당신은 태양 흑점 검색 DSL의 order_by 방법에 액세스 할 수 있습니다. 대신 컨트롤러에서이 작업을 수행 :

def search 
    @results = Sunspot.search(YourModel) do 
    fulltext(params[:search]) 
    order_by(:average_overall_rating, :asc) 
    end 
end 
0

fulltextorder_by 방법은 모델의 search 블록에 사용해야합니다.

내가 전화 할 필요가 query.order_by입니다 (: average_overall_rating : ASC)

def search 
    @models = Model.search do # Replace 'Model' by your model class 
    fulltext params[:search] 
    order_by(:average_overall_rating, :asc) 
    end 
end 
0

이 이봐, 난 실제로 직관에 의한 해결책을 발견 : 뭔가 것처럼해야합니다!

관련 문제