Thanks Guys For your reply. I got the answer. On Aug 6, 1:03 pm, Jim Ruther Nill <[email protected]> wrote: > Hi Mike, > > Yes. You have to add the ratings column in your database. But since you are > using the plugin which adds a 'rating' method for your model, you need to > have a different column name for your database, hence Pat and James > suggested the name to be 'cached_rating'. The reason behind this is > TS/Sphinx only deals with columns that are actually in your database. So > any method in your model can't be used. > > 1. create a migration to add the cached_rating column to your table > 2. add the before_validation callback and necessary methods (as coded by > Pat) to set the cached_rating value and save it in the database. > 3. rebuild your index > 4. happy searching :D > > > > On Fri, Aug 6, 2010 at 3:42 PM, Mike Disuza <[email protected]> wrote: > > Hi > > I am confused, Are you saying that I have to add the "cached_rating" > > column in my table? If yes then it is better I will store the "rating" > > value by creating a new column in the table. So that i will not be > > having this headche. > > > Thanks, > > Mike > > > On Aug 6, 11:44 am, Pat Allan <[email protected]> wrote: > > > Hi Mike > > > > I think it's before_validation... and you'd probably want something more > > like: > > > > before_validation :set_cached_rating > > > > def set_cached_rating > > > self.cached_rating = rating > > > end > > > > This way the value is actually being stored in the database :) > > > > -- > > > Pat > > > > On 06/08/2010, at 4:39 PM, Mike Disuza wrote: > > > > > Hi, > > > > I am trying your solution like this > > > > My model is like this:- > > > > " > > > > before_validate :cache_rating > > > > define_index do > > > > indexes :name,:sortable => true > > > > indexes cached_rating, :as=>:property_rating > > > > end > > > > def cache_rating > > > > self.rating > > > > end > > > > " > > > > Whenever I am trying to rebuild the indexing using "rake ts:rebuild", > > > > I am getting error "undefined method `before_validate' for #<Class: > > > > 0xb6cce9c4>" > > > > > Can anyone help me out. > > > > > Thanks, > > > > Mike > > > > > On Aug 5, 11:38 am, James Healy <[email protected]> wrote: > > > >> Mike Disuza wrote: > > > >>> For rating I am using "acts_as_a_rateable" plugin which is giving a > > > >>> rating by using "obj.rating" method. > > > >>> I know that Sphinx does not do indexing of the method. > > > > >>> Can anyone have any idea how to solve this? > > > > >> I'm not familiar with the acts_as_a_rateable plugin, but you probably > > > >> have 2 options: > > > > >> * find out if the plugin stores the rating in your database somewhere > > > >> and add that column to your index > > > > >> * if the rating is purely calculated in ruby, you will have to add a > > > >> model callback that caches the value in your database. I've > > described > > > >> this technique a few times on stack overflow, check out [1] > > > > >> -- James Healy <[email protected]> Thu, 05 Aug 2010 16:37:45 +1000 > > > > >> [1] > >http://stackoverflow.com/questions/3391048/including-rails-activereco... > > > > > -- > > > > You received this message because you are subscribed to the Google > > Groups "Thinking Sphinx" group. > > > > To post to this group, send email to [email protected]. > > > > To unsubscribe from this group, send email to > > [email protected]<thinking-sphinx%[email protected]> > > . > > > > For more options, visit this group athttp:// > > groups.google.com/group/thinking-sphinx?hl=en. > > > -- > > You received this message because you are subscribed to the Google Groups > > "Thinking Sphinx" group. > > To post to this group, send email to [email protected]. > > To unsubscribe from this group, send email to > > [email protected]<thinking-sphinx%[email protected]> > > . > > For more options, visit this group at > >http://groups.google.com/group/thinking-sphinx?hl=en. > > -- > ------------------------------------------------------------- > visit my blog athttp://jimlabs.heroku.com
-- You received this message because you are subscribed to the Google Groups "Thinking Sphinx" group. 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.
