Sunspot rails: include associated models when call

2019-02-16 08:25发布

问题:

Let's say that I want to search for Events in my app. When I display the results, I want to display who created the event, for instance.

Is there any way to add .includes(:user) somewhere, to avoid unnecessary queries (one for each event)? I can't find it in the doc. Should I just index the user name with the event? But I'd have to keep the user info up to date...

Thanks

回答1:

Found the answer, it was actually quite simple:

Event.search(:include => [:user]) do...


回答2:

This is an updated answer, if We need to include an nested association

Then use this

Event.search(:include => {:user => :city})

In this case it will include user and his associated city



回答3:

Just in case you need to add a normal and nested include, here's what I needed:

Professional.search(include: [:user, {branches: [:business]}]) do