It appears ThinkingSphinx's `find()` method works differently on
sphinx_scopes than expected (and is undocumented):

Item.find(1)
=> #<Item id: 1 ... >

Item.my_sphinx_scope.find(1)
=> #<Enumerable::Enumerator:0x1076842c0>

Again, is this the intended behaviour?  IMO it would be much cleaner
if ThinkingSphinx's API was as similar as possible to ActiveRecord's
when using methods of the same name.



On Jul 21, 11:28 am, Kyle Fox <[email protected]> wrote:
> I'm seeing odd behaviour in models with a sphinx index (models without
> an index appear to be unaffected).  The `.all` class method behaves
> funny from the console -- it doesn't include instances created during
> that session.  Stopping and restarting the console fixes the behaviour
> (rebuilding the index has no effect).  I'm wondering if this is
> normal.
>
> Here's an example to illustrate:
>
> item = Item.create(params)
> => #<Item id: 1 ... >
>
> Item.all.length
> => 1
>
> Item.all.include?(item)
> => false
>
> Item.find(item.id)
> => #<Item id: 1 ... >
>
> --- Exit & open a new console session ---
>
> item = Item.find(item.id)
> => #<Item id: 1 ... >
>
> Item.all.include?(item)
> => true
>
> Any insight would be appreciated -- thanks!

-- 
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.

Reply via email to