Ruby on Rails
Wednesday, December 18, 2013
On Tuesday, 17 December 2013 02:03:47 UTC-5, Ruby-Forum.com User wrote:
I am using elasticsearch for querying in my application. Lets say there
are 2 models
Class Topic
has_many :posts
and
Class Article
has_many :comments
I want to do a combined search on both these models and my query looks
like:
Tire.search [Article, Topic], {:load => {:include => [:posts,
:comments]}} do |search|
...
end
This is where I encounter a problem. I get the
Association named comments not found
error. I think this is because Topic model doesn't have the association
comments and I think the same thing will happen for posts with the
Article model.
Is there anyway to solve this problem? I was thinking maybe something
like
:include => ['topic.posts', 'article.comments']
This does not appear to be possible with the stock Tire gem:
https://github.com/karmi/retire/issues/762
You may want to try applying the changes in that issue. Your example would look like:
Tire.search [Article, Topic], {:load => { Article =>{ :include => :comments}, Topic => { :include => :posts } } } do |search|
--Matt Jones
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/8313b644-54ce-446f-9c92-c1417f2a6545%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment