Hi!
On Fri, May 25, 2007 at 04:27:35AM +0200, Patrick Aljord wrote:
> Hey all,
> I have movie has_many :medias and media belongs_to :media
>
> this is how my movie class looks like:
>
> class Movie < ActiveRecord::Base
> has_many :medias
>
> acts_as_ferret :fields => [:title,:medias_name]
>
> def medias_name
> return self.medias.inject("") {|name,m| name + " " + m.name}
> end
>
> end
>
> when I do Movie.find_by_contents("title:bob") it does return a movie
> and if I modify that movie title to Bill and do
> Movie.find_by_contents("title:bill") it will return the movie also.
>
> But if I create a new media xyz and try to search on it
> Movie.find_by_contents("medias_name:xyz") it doesn't find it, I need
> to rm -rf index/ and restart the server to make it find it. Any idea
> how I can update the index on special fields?
you can't update single fields, you havbe to reindex that movie to
reflect the changes. An after_save hook in media calling
movie.ferret_update should do the trick.
Jens
--
Jens Krämer
webit! Gesellschaft für neue Medien mbH
Schnorrstraße 76 | 01069 Dresden
Telefon +49 351 46766-0 | Telefax +49 351 46766-66
[EMAIL PROTECTED] | www.webit.de
Amtsgericht Dresden | HRB 15422
GF Sven Haubold, Hagen Malessa
_______________________________________________
Ferret-talk mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ferret-talk