I'm using Thinking Sphinx 2.0.13 with Rails 3.2.9.
Given I have and STI class that looks like this:
class User < ActiveRecord::Base
define_index do
has :account_id
has :is_deleted
end
sphinx_scope(:by_account) do |account_id|
{:with => {:account_id => account_id}}
end
sphinx_scope(:without_deleted) do
{:with => {:is_deleted => false}}
end
end
class Admin < User
end
If I attempt to use a single scope on either the User or Admin class, all is fine. I can also chain scopes together using the User model, as expected. The problem is, If I chain scopes on the Admin model, I get:
> Admin.by_account(1).without_deleted
NoMethodError: Sphinx Query (2.9ms)
Sphinx Found 3 results
Admin Load (0.6ms) SELECT `users`.* FROM `users` WHERE `users`.`type` IN ('Admin') AND `users`.`id` IN (7, 8, 9)
undefined method `without_deleted' for #<ThinkingSphinx::Search:0x007fd3d95f7a08>
It appears to be running the query as soon as the first scope is encountered. Is there something obvious I'm missing, or does this look like an issue with TS?