Rails: Sunspot-Textsuche mit Modellzuordnungen unter Verwendung von: through
Wie suche ich mit Assoziationen und durch mit Sonnenflecken?
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
In der Ansicht habe ich dies (viele Schleifen)
<%= @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 %>
Dies funktioniert, wenn ich nach einem Namen suche, der sich im Geschäftsmodell befindet, aber wenn ich nach einem Begriff in der Liste sucheService
Modell? Es wird nicht korrekt angezeigt, da meine Ansicht nur von der Unternehmensseite stammt. Wie mache ich es so, dass der Firmenname auftaucht, wenn ich sucheService
Modell?
Vielen Dank