2017-08-23 3 views
0

Wenn Thinking Sphinx mit einer has_one-Verknüpfung von Klasse A nach B (mit B mit gehört_zu-Anweisung) verwendet wird, ist es möglich, has_many association im Index mit Join-Anweisung zu verwenden. Dies führt zu einer SphinxQL-Abfrage, die natürlich auf dem Primärschlüssel von B gruppiert. Wenn ich jedoch versuche, die gleiche Assoziation mit einem Index für B zu verwenden, kann ich anscheinend die Assoziation auf der Seite angites_to nicht verwenden. Meine Frage ist, ist es möglich, Associates_to Association zu verwenden, oder gibt es eine Problemumgehung? Hier sind die relevanten Teile meines Codes:Verwendung von ActiveRecord-Joins mit Thinking Sphinx

class IdentAssociation < ActiveRecord::Base 
    has_many :donees, :foreign_key => :ident_id, :class_name => "Donees" 
... 

class Donees < ActiveRecord::Base 
    belongs_to :ident_association, :foreign_key => :ident_id 
... 

ThinkingSphinx::Index.define :donees, :with => :active_record do 
    join ident_association 
... 
+0

Sie können definitiv eine assignes_to Assoziation in Ihrer Indexdefinition verwenden. Inwiefern funktioniert es nicht für dich? – pat

Antwort

0

Ja, ich glaube, ich den Namen des Vereins vertippt haben müssen. Ich stieß auch auf einige andere Probleme wie Sphinx, der sich darüber beschwert, dass sphinx_internal_class_name fehlt; aber das ist über den Rahmen hinaus.

Verwandte Themen