Thanks Steve. On Feb 18, 1:01 pm, P Witty <[email protected]> wrote: > Yeah. Do something like this to process each object that comes back: > > results.each do |o| > class << o; self; end.send(:remove_method, :sphinx_attributes)send > (:remove_method, :excerpts) > end > > Cheers > > -Steve > > On Feb 18, 2010, at 11:32 AM, Eric <[email protected]> wrote: > > > > > Hey Guys- > > > I'm running into the same issue. Any updates on a fix? > > > Thanks, > > Eric > > > On Jan 31, 10:23 pm, Pat Allan <[email protected]> wrote: > >> Right, thanks for that Steve. It all makes sense, really... > > >> I'll look at changing the sphinx_attributes method (and others) to > >> be mixed in constantly. > > >> -- > >> Pat > > >> On 29/01/2010, at 10:34 AM, Steve H wrote: > > >>> Marshal (correctly) won't dump anything with singleton methods. > >>> This > >>> is because things with singleton methods can't be properly "re- > >>> hydrated". Imagine if you dumped an object to JSON. If you > >>> wanted to > >>> get it back, you could create a new instance of that object, and > >>> assign all the values from the values in your JSON string. But if > >>> you > >>> have a special method that has been defined on an object, there's no > >>> way for Marshal to get that method back. So that's why it breaks. > >>> Take a look at this over-simplified example in IRB: > > >>> irb(main):006:0> Marshal.dump Object.new > >>> => "\004\bo:\vObject\000" > >>> irb(main):007:0> o = Object.new > >>> => #<Object:0x10016b4e8> > >>> irb(main):008:0> def o.foo > >>> irb(main):009:1> p "foo" > >>> irb(main):010:1> end > >>> => nil > >>> irb(main):011:0> Marshal.dump o > >>> TypeError: singleton can't be dumped > >>> from (irb):11:in `dump' > >>> from (irb):11 > >>> from :0 > > >>> -Steve > > >>> On Jan 28, 1:23 am, Pat Allan <[email protected]> wrote: > >>>> Hi Steve > > >>>> The reason I add this on when I get search results back, is > >>>> because sphinx_attributes is useless at any other point, and I > >>>> don't like the idea of modifying *all* objects for something that > >>>> only has use in a single situation. > > >>>> Still, maybe it's worth it - it would make the code cleaner, and > >>>> probably speed up things when search results are populated. I > >>>> would be interested in trying to figure out why memcache doesn't > >>>> like it - don't suppose you've found out any of the finer details? > > >>>> Cheers > > >>>> -- > >>>> Pat > > >>>> On 28/01/2010, at 4:31 AM, Steve H wrote: > > >>>>> So... we rely on memcache heavily throughout our site, as I'm sure > >>>>> many other developers do as well. > > >>>>> Adding the sphinx_attributes as a singleton method on the specific > >>>>> object that is pulled back from the search causes memcache to > >>>>> break. > > >>>>> Frankly, my preferred solution is for the thinking_sphinx gem to > >>>>> re- > >>>>> open ActiveRecord (or at least re-open the indexed classes) and > >>>>> add an > >>>>> attr_accessor :sphinx_attributes > > >>>>> Currently what we're doing is taking some of the stuff out of > >>>>> sphinx_attributes and putting it into a custom search_results > >>>>> object > >>>>> (legacy stuff), then looking our object up again by id. > > >>>>> I think the fix I'm going to do (for now) is to remove the > >>>>> sphinx_attributes method from the object once we're done > >>>>> initializing > >>>>> our custom search_results object. But ideally, this wouldn't be > >>>>> necessary... > > >>>>> -Steve > > >>>>> -- > >>>>> 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 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] > >>> . > >>> 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] > > . > > 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]. For more options, visit this group at http://groups.google.com/group/thinking-sphinx?hl=en.
