2010-08-23 1 views
1

사람이 있고 사람이 수박 인 경우를 가정 해 봅니다. 중첩 속성을 sunspot-solr filter_by 할 수 있습니까?

나는 사람들을 위해 일 할 수있는 filter_by이 예를 들어, 속성 :

:filter_by => 'has_eaten_today' 

를하지만 수박의 중첩 된 속성에 대한 :filter_by을 할 수 있습니까? 예 :

:filter_by => 'watermelons.created_at' 

감사합니다.

답변

2

이 질문은 Sunspot-solr를 이해하지 못했지만 매우 쉽습니다.

그냥 모델에서 중첩 된 속성 대상 :

query.with(:watermelon_time).equal_to(params[:filter_by] == 'watermelon_time' ? 'true' : false) if params[:filter_by] 

추가 보너스 :

추가

def watermelon_time 
    self.watermelon.created_at 
end 

그런 다음 다음

searchable do 
    time :watermelon_time 
.. 

내 컨트롤러에이 추가를 에이 이 기능을 작성하려면 다음 링크를 누르십시오.

= link_to 'Watermelon Time', url_for(:overwrite_params => { :filter_by => 'watermelon_time', :page => nil }) 

본 Appetite!