Versuchen, mit Sphinx/Thinking Sphinx zum ersten Mal auszukommen.Denken Sphinx - RuntimeError: Fehlendes Attribut für Fremdschlüssel
Ich habe meine Modelle definiert bekam wie folgt (vereinfacht):
class Branch < ActiveRecord::Base
has_many :salesmen, :class_name => "User"
has_many :leads, :through => :salesmen
end
class User < ActiveRecord::Base
belongs_to :branch
has_many :leads, :foreign_key => "owner_id"
end
class Lead < ActiveRecord::Base
belongs_to :owner, :class_name => "User"
define_index do
indexes company_name
indexes :name, :sortable => true
has owner.branch_id, :as => :branch_id
indexes [owner.last_name, owner.first_name], :as => :owner_full_name, :sortable => true
end
end
Immer wenn ich rufen
Branch.first.leads.search
I
bekommenRuntimeError: Missing Attribute for Foreign Key branch_id
Was mache ich falsch?
Danke pat. Ja, eine Spur gehört über den Besitzer zu einer Branche und es gibt keine direkte Verbindung dorthin. Das Problem mit Bens Vorschlag ist, dass es so etwas wie gar nicht gibt. :( –
Ähm, ich bin ein bisschen verwirrt, wie das goes_to auf Lead funktioniert dann funktioniert? – pat
Oh! Es tut uns leid, die Verbindung zwischen Leads und Branches von Leads ist nicht in meinem Modell definiert (ich verwechselte gehört gehört_zu: in das Lead-Modell verzweigen, ich war auch ein bisschen schläfrig - es ist jetzt entfernt.) Nun, das Problem ist, dass es keinen Weg gibt (zumindest wie ich sehe), wie man eine Assoziation definiert, die auf einer Seite definiert ist has_many: through (weil es so etwas wie hingeht nicht gibt) Ich habe viele Dinge ausprobiert, wie zum Beispiel Delegation, aber nichts hat funktioniert. Ich glaube, ich mache einen lächerlichen Fehler. Wie auch immer, danke, für deine Bemühungen –