Hi Pat,
there's no too much code in that extension, basically it goes like
this:
When the extension loads, it executes this:
> def activate
> Page.send(:include, SphinxSearch::PageExtensions)
> # [...]
> end
The PageExtensions look like this:
> def self.included(base)
> base.define_index do
> set_property :delta => true, :group_concat_max_len => 8.kilobytes
> set_property :field_weights => { 'title' => 100 }
> indexes :title, parts.content
> indexes :tools, :roles, :duration, :customer
> has :updated_at, :status_id
> has :searchable, :type => :boolean
> end
> end
The errors occur with instances of classes that are a subclass of
Page, as if those instances of certain subclasses hadn't been
initialized properly. Is there something wrong with the way how
classes are extended by the code above? Regards,
Christian
On 2 Jan., 07:27, Pat Allan <[email protected]> wrote:
> Hi Christian
>
> I think that might be the Radiant extension that's having problems - though
> I'm not certain.
>
> sphinx_indexes is set when define_index is called - and so, this should
> happen when the model is loaded. The fact that it's no longer set suggests
> that it could be tied to cache_classes or something like that.
>
> --
> Pat
>
> On 02/01/2010, at 8:20 AM, Christian Aust wrote:
>
>
>
> > Hi all,
>
> > I'm using TS with Radiant, which causes me some trouble currently.
> > Actually I'm not sure if this is originally a problem of TS, or if
> > it's the radiant extension causing the error, but let me explain:
>
> > I've upgraded the TS gem to 1.3.14, and my application started to spit
> > out errors every now and then. Errors occur when I try to edit a page
> > that's a subclass of the ActiveRecord base class "Page", not a page
> > itself. There are two errors that I spotted so far:
>
> >> NoMethodError (undefined method `any?' for nil:NilClass):
> >> /usr/lib/ruby/gems/1.8/gems/thinking-sphinx-1.3.14/lib/thinking_sphinx/acti
> >> ve_record/delta.rb:50:in `indexed_data_changed?'
> >> /usr/lib/ruby/gems/1.8/gems/thinking-sphinx-1.3.14/lib/thinking_sphinx/acti
> >> ve_record/delta.rb:46:in `should_toggle_delta?'
> >> /usr/lib/ruby/gems/1.8/gems/thinking-sphinx-1.3.14/lib/thinking_sphinx/acti
> >> ve_record/delta.rb:35:in `toggle_delta'
> >> vendor/extensions/reorder/lib/reorder/pages_controller_extensions.rb:7:in
> >> `send'
> >> vendor/extensions/reorder/lib/reorder/pages_controller_extensions.rb:7:in
> >> `move_lower'
> >> radiant (0.8.1)
> >> vendor/plugins/haml/rails/./lib/sass/plugin/rails.rb:19:in `process'
>
> > Theres another NoMethodError in active_record.rb:193 where the code
> > tries to add an index to self.sphinx_indexes which is nil sometimes,
> > which is easy to work around: I've added "unless
> > self.sphinx_indexes.nil?" at the end of the line and was fine so far.
>
> > Can somebody help me to understand whether this is something TS-
> > related or should I check the code of the Radiant extension? Kind
> > regards,
>
> > Christian
>
> > --
>
> > 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.