Using Ferret and the acts_as_ferret plugin, I would like to retrieve
results based on models descended from a parent model:
class Post < ActiveRecord::Base
acts_as_ferret :fields => [ 'title',
'body',
:post_author,
:post_comments
]
...
has_one :author
has_many :comments
end
I would like to search all comments of a post and retrieve Post models
as search results. Currently, searching across :author fields is
achieved using:
def post_author
self.author.name
end
However, a similiar technique does not seem to work for the has_many
relationship:
def post_comments
for comment in self.comments
@comments << comment.body
@comments << comment.name
end
@comments.join(" ")
end
Searching across author fields finds the correct Post. However, none of
the comments seems to be indexed and/or associated with the correct Post
so no search results are found. I would appreciate any help on this.
Thanks!
Rami
--------
Note: The post model is saved after comment changes are made in order
for acts_as_ferret to index the Post. Also note that multi_search would
not easily apply here since I know for certain I would like to retrieve
the Post model, and not the Comment or Author model as search results.
--
Posted via http://www.ruby-forum.com/.
_______________________________________________
Ferret-talk mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ferret-talk