Rails: поиск текста Sunspot с ассоциациями моделей, используя: through
Как мне искать с ассоциациями и с помощью солнечного пятна?
class StaticController < ApplicationController
def search
@search = Sunspot.search Business, Service do
fulltext params[:q]
paginate :per_page => 10
order_by_geodist(:location, *Geocoder.coordinates(params[:loc]))
end
@biz = @search.results
end
class Business < ActiveRecord::Base
attr_accessible :name
has_many :services, :through => :professionals
searchable do
text :name #name in business column
# how to do I get the services?
end
end
class Service < ActiveRecord::Base
attr_accessible :service
belongs_to :professional
end
class Professional < ActiveRecord::Base
belongs_to :business
has_many :services, as: :servicable
end
По мнению, у меня есть это (много циклов)
<%= @biz.each do |b| %>
<%= b.name %>
<!-- looping through professionals model -->
<% b.professionals.each do |prof| %>
<!-- looping through services model -->
<% prof.services.each do |s| %>
<%= s.service %>
<% end %>
<% end %>
<% end %>
Это работает, если я ищу имя в рамках бизнес-модели, но что, если я ищу по термину, который находится вService
модель? Он не будет отображаться правильно, потому что мое мнение исходит только с деловой стороны. Как мне сделать так, чтобы название компании всплыло, если я буду искать черезService
модель?
Спасибо