Sha256: f2056b06dd1800ad65f3be41b741ebc79604fd1e7439971df0f5c43f7ee410d1
Contents?: true
Size: 901 Bytes
Versions: 64
Compression:
Stored size: 901 Bytes
Contents
module ThinkingSphinx module ActiveRecord module HasManyAssociation def search(*args) foreign_key = @reflection.primary_key_name stack = [@reflection.options[:through]].compact attribute = nil (@reflection.klass.sphinx_indexes || []).each do |index| attribute = index.attributes.detect { |attrib| attrib.columns.length == 1 && attrib.columns.first.__name == foreign_key.to_sym && attrib.columns.first.__stack == stack } break if attribute end raise "Missing Attribute for Foreign Key #{foreign_key}" unless attribute options = args.extract_options! options[:with] ||= {} options[:with][attribute.unique_name] = @owner.id args << options @reflection.klass.search(*args) end end end end
Version data entries
64 entries across 64 versions & 12 rubygems