ファセットについてはまだ学習中ですが、関連付けられたレコードが割り当てられていないレコードをフィルター処理したいと考えています。最初のいくつかのコード:
モデル:
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>
ビューには、それぞれのカウントを含むカテゴリ フィルターのリストが表示されますが、カテゴリが割り当てられていないプロジェクトをクエリする「未割り当て」ファセット(およびそのカウント)を含めたいと考えています。これはファセットで可能ですか?また、任意のカテゴリが割り当てられたプロジェクトをフィルタリングする "Assigned any" ファセット (およびそのカウント) はどうですか? ありがとうございました。