2017-05-19 5 views
0

태양 흑점 검색에 주문을 추가하고 싶습니다. 주문 검색없이 완벽하게 작동합니다. 나는 order_by 라인 또한Sunspot solr "이름이 'C2'인 사용자에 대해 구성된 필드가 없습니다.

제가했습니다에

No field configured for User with name 'C2'

받고 있어요 그래서

class User < ActiveRecord::Base 
    searchable do 
    text :C1 
    text :C2 
    end 
end 

def search 
    @search = User.search do 
     keywords params[:q] 
     paginate page: params[:page] 
     order_by(:C2, :desc) 
    end 
    @users = @search.results 
    respond_to do |format| 
     format.html { render :action => "index" } 
    end 
    end 

내 사용자 모델 : 여기 내 검색 방법 문제의 원인이 C2라고 생각했습니다. 텍스트가 아닌 문자열, 그래서이 한 다음 해킹 :

내가이 인덱스를 다시 컨트롤러에 order_by (:sort_title, :desc)을 추가 할 수 있지만 어떤 이유로하기 위해
class User < ActiveRecord::Base 
    searchable do 
    text :C1 
    text :C2 
    string :sort_title do 
     C2.downcase 
    end 
    end 
end 

내가 얻을 :

NameError: uninitialized constant User::C2

무엇 오전 내가 잘못하고있어?

+0

는 사용자 모델 .. Md.FarhanMemon @ –

+0

PLZ주의 깊게 확인 공유, 그것은 – mondayguy

+0

내가있다 –

답변

1

이 시도 :

다음
searchable do 
    text :C1 
    text :C2 
    string :sort_title do |user| 
    user.C2.downcase 
    end 
end 

다시 색인 시도하고 그냥 잘 가야한다 ..

+0

정말 고마워요! – mondayguy

+0

왜 태양 흑점 github 페이지의 예제 코드가 다음과 같은 것이 아닌지 궁금합니다. ? 여기에서 다음을 확인할 수 있습니다 : https://github.com/sunspot/sunspot, 예제 "객체 설정"섹션 – mondayguy

+1

예. 역시 궁금합니다. 내 코드에서 그런 구문을 사용했기 때문에 나는 그것을 안다. 그것은 작동한다.;) –