Hi guys,
I am seeing:
undefined method `eq' for nil:NilClass
when I run:
rake ts:rebuild [1]
The application where I am trying to use Sphinx has the following
tables:
Product(id, name, price)
Store(id, name, product_group_id)
ProductGroup(id, name)
ProductGroupProducts(product_group_id, product_id)
Inside product.rb I have:
has_many :stores, :finder_sql => proc { "SELECT stores.*\n
FROM stores\n
INNER JOIN
product_groups_products ON product_groups_products.product_id =
#{self.id} AND stores.product_group_id =
product_groups_products.product_group_id" }
And inside define_index:
has stores(:id), :as => :store_ids
I am putting together a sandbox app to debug this problem in
isolation.
I've debugged the source code trying to find the cause of the problem,
but not much luck. I am new with sphinx so let me know if this is not
the right approach. What I ideally would like to do is this:
Product.search('coke', :with => { :store_ids => [@my_store.id] })
Thanks in advance.
Enrico
[1]
Generating Configuration to /Users/enricoant/code/myshop/config/
development.sphinx.conf
rake aborted!
undefined method `eq' for nil:NilClass
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@myshop/gems/
activesupport-3.0.9/lib/active_support/whiny_nil.rb:48:in
`method_missing'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@myshop/gems/
activerecord-3.0.9/lib/active_record/associations.rb:2210:in
`association_join'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@myshop/gems/
activerecord-3.0.9/lib/active_record/relation/query_methods.rb:259:in
`build_joins'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@myshop/gems/
activerecord-3.0.9/lib/active_record/relation/query_methods.rb:254:in
`each'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@myshop/gems/
activerecord-3.0.9/lib/active_record/relation/query_methods.rb:254:in
`build_joins'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@myshop/gems/
activerecord-3.0.9/lib/active_record/relation/query_methods.rb:176:in
`build_arel'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@myshop/gems/
activerecord-3.0.9/lib/active_record/relation/query_methods.rb:149:in
`arel'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@myshop/gems/
activerecord-3.0.9/lib/active_record/relation.rb:321:in `to_sql'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@myshop/gems/thinking-
sphinx-2.0.5/lib/thinking_sphinx/source/sql.rb:29:in `to_sql'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@myshop/gems/thinking-
sphinx-2.0.5/lib/thinking_sphinx/source.rb:117:in `set_source_sql'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@myshop/gems/thinking-
sphinx-2.0.5/lib/thinking_sphinx/source.rb:51:in `to_riddle_for_core'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@myshop/gems/thinking-
sphinx-2.0.5/lib/thinking_sphinx/index.rb:114:in `to_riddle_for_core'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@myshop/gems/
activerecord-3.0.9/lib/active_record/connection_adapters/
abstract_adapter.rb:207:in `each_with_index'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@myshop/gems/thinking-
sphinx-2.0.5/lib/thinking_sphinx/index.rb:113:in `each'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@myshop/gems/thinking-
sphinx-2.0.5/lib/thinking_sphinx/index.rb:113:in `each_with_index'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@myshop/gems/thinking-
sphinx-2.0.5/lib/thinking_sphinx/index.rb:113:in `to_riddle_for_core'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@myshop/gems/thinking-
sphinx-2.0.5/lib/thinking_sphinx/index.rb:83:in `to_riddle'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@myshop/gems/thinking-
sphinx-2.0.5/lib/thinking_sphinx/active_record.rb:245:in `to_riddle'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@myshop/gems/thinking-
sphinx-2.0.5/lib/thinking_sphinx/active_record.rb:244:in `collect'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@myshop/gems/thinking-
sphinx-2.0.5/lib/thinking_sphinx/active_record.rb:244:in `to_riddle'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@myshop/gems/thinking-
sphinx-2.0.5/lib/thinking_sphinx/configuration.rb:164:in `generate'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@myshop/gems/thinking-
sphinx-2.0.5/lib/thinking_sphinx/configuration.rb:161:in `each'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@myshop/gems/thinking-
sphinx-2.0.5/lib/thinking_sphinx/configuration.rb:161:in `generate'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@myshop/gems/thinking-
sphinx-2.0.5/lib/thinking_sphinx/configuration.rb:177:in `build'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@myshop/gems/thinking-
sphinx-2.0.5/lib/thinking_sphinx/tasks.rb:78
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@global/gems/rake-0.9.2/lib/
rake/task.rb:205:in `call'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@global/gems/rake-0.9.2/lib/
rake/task.rb:205:in `execute'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@global/gems/rake-0.9.2/lib/
rake/task.rb:200:in `each'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@global/gems/rake-0.9.2/lib/
rake/task.rb:200:in `execute'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@global/gems/rake-0.9.2/lib/
rake/task.rb:158:in `invoke_with_call_chain'
/Users/enricoant/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/1.8/monitor.rb:
242:in `synchronize'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@global/gems/rake-0.9.2/lib/
rake/task.rb:151:in `invoke_with_call_chain'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@global/gems/rake-0.9.2/lib/
rake/task.rb:144:in `invoke'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@myshop/gems/thinking-
sphinx-2.0.5/lib/thinking_sphinx/tasks.rb:95
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@global/gems/rake-0.9.2/lib/
rake/task.rb:205:in `call'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@global/gems/rake-0.9.2/lib/
rake/task.rb:205:in `execute'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@global/gems/rake-0.9.2/lib/
rake/task.rb:200:in `each'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@global/gems/rake-0.9.2/lib/
rake/task.rb:200:in `execute'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@global/gems/rake-0.9.2/lib/
rake/task.rb:158:in `invoke_with_call_chain'
/Users/enricoant/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/1.8/monitor.rb:
242:in `synchronize'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@global/gems/rake-0.9.2/lib/
rake/task.rb:151:in `invoke_with_call_chain'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@global/gems/rake-0.9.2/lib/
rake/task.rb:176:in `invoke_prerequisites'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@global/gems/rake-0.9.2/lib/
rake/task.rb:174:in `each'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@global/gems/rake-0.9.2/lib/
rake/task.rb:174:in `invoke_prerequisites'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@global/gems/rake-0.9.2/lib/
rake/task.rb:157:in `invoke_with_call_chain'
/Users/enricoant/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/1.8/monitor.rb:
242:in `synchronize'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@global/gems/rake-0.9.2/lib/
rake/task.rb:151:in `invoke_with_call_chain'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@global/gems/rake-0.9.2/lib/
rake/task.rb:144:in `invoke'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@global/gems/rake-0.9.2/lib/
rake/application.rb:112:in `invoke_task'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@global/gems/rake-0.9.2/lib/
rake/application.rb:90:in `top_level'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@global/gems/rake-0.9.2/lib/
rake/application.rb:90:in `each'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@global/gems/rake-0.9.2/lib/
rake/application.rb:90:in `top_level'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@global/gems/rake-0.9.2/lib/
rake/application.rb:129:in `standard_exception_handling'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@global/gems/rake-0.9.2/lib/
rake/application.rb:84:in `top_level'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@global/gems/rake-0.9.2/lib/
rake/application.rb:62:in `run'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@global/gems/rake-0.9.2/lib/
rake/application.rb:129:in `standard_exception_handling'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@global/gems/rake-0.9.2/lib/
rake/application.rb:59:in `run'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@global/gems/rake-0.9.2/bin/
rake:32
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@global/bin/rake:19:in
`load'
/Users/enricoant/.rvm/gems/ruby-1.8.7-p334@global/bin/rake:19
--
You received this message because you are subscribed to the Google Groups
"Thinking Sphinx" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/thinking-sphinx?hl=en.