Hi Ahmed,

What makes you think this is an thinking-sphinx error? I have seen similar 
errors when upgrading an app from 3.0 to 3.1 without thinking-sphinx.

I think it was to do with calling associations on empty ActiveRecord result 
sets.

What is the code that creates @person, and whats its current value?
The error makes me think the value of @person is nil or an Association 
object (not a Person).

If @person is indeed a Person, Whats the value of @person.current_friends?

I hope I've given you a few new ideas.

David Bennett



On Tuesday, 4 September 2012 01:20:14 UTC+9:30, Daly wrote:
>
> Hello,
>
> I'm running thinking-sphinx 2.0.10 in a Rails 3.2 app.
>
> rvm --version
> rvm 1.14.12 (stable) by Wayne E. Seguin <[email protected] <javascript:>>, 
> Michal Papis <[email protected] <javascript:>> [https://rvm.io/]
>
> ruby --version
> ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin11.4.2]
>
> This used to be a rails 2.3 app that I'm converting. It always breaks at 
> the exact same location with:
>
>     undefined method `association_class' for nil:NilClass
>
> The offending line is:
>     @friends = @person.current_friends.order('RAND()').limit(5)
>
> The association is:
>
> In person.rb:
>     has_many :current_friends, :source => :friend, :through => :friends
>
> and the sphinx method in person.rb is:
>     define_index do
>       indexes :user_name
>       indexes :id, :as => :id
>       indexes :email, :as => :email
>       indexes :account_verified#, :as => :account_verified
>
>       set_property :delta => false
>     end
>
>
> In friend.rb:
>     belongs_to :person
>     belongs_to :friend, :class_name => 'Person', :foreign_key => 
> "friend_id"
>     validates_presence_of :person_id, :friend_id
>
> The closes thing I could find that matches my issue is: 
> https://github.com/pat/thinking-sphinx/issues/310, I did put the define 
> index after all the declarations. I'm sure it's ts because when I comment 
> out all define_index methods in the code, it works fine.
>
> This has been hounding me for a long time now.
>
> Thanks for your help,
> Ahmed
>

-- 
You received this message because you are subscribed to the Google Groups 
"Thinking Sphinx" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/thinking-sphinx/-/pEyx99O3dMQJ.
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