여전히 패싯에 대해 알지만 관련 레코드가 할당되지 않은 레코드를 필터링하고 싶습니다. 우선 몇 가지 코드 :Rails + Sunspot : 연관이 지정되지 않은 레코드를 필터링하기위한 "지정되지 않은"패싯?
모델 :
class Project < ActiveRecord::Base
belongs_to :category
searchable do
text :name
integer :category_id, :references => Category
end
end
컨트롤러 :
class ProjectsController < ApplicationController
def index
@search = Project.search do
fulltext params[:q]
facet :category_id
with(:category_id, params[:category_id]) if params[:category_id].present?
end
@projects = @search.results
respond_with(@projects)
end
뷰 :
<ul>
<% for row in @search.facet(:category_id).rows %>
<li>
<% if params[:category_id].blank? %>
<%= link_to row.instance.name, :category_id => row.value %> (<%= row.count %>)
<% else %>
<strong><%= row.value %></strong> (<%= link_to "remove", :category_id => nil %>)
<% end %>
</li>
<% end %>
</ul>
뷰가 각각 카운트와 카테고리 필터의 목록을 보여줍니다 그러나 "할당되지 않은"패싯 (및 그 카운트)을 포함하고자합니다은 카테고리가 지정되지 않은 프로젝트를 쿼리합니다. 패싯이 가능합니까? 또한 카테고리가 할당 된 프로젝트를 필터링하는 "할당 된 모든"패싯 (및 해당 개수)은 어떻게됩니까? 고맙습니다.
범프. 어떤 아이디어? – robertwbradford