Hi Christian
Are you able to put together a sample app that reproduces this issue? I'm not
sure if the fault is in Thinking Sphinx, Rails, or Radiant. Your extension
seems simple enough, and isn't doing anything complex, so I very much doubt
that's at fault.
If you can do this, feel free to send it to me off-list (or if you put it into
GitHub, just give me read access).
Cheers
--
Pat
On 02/01/2010, at 7:29 PM, Christian Aust wrote:
> 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.
>
>
--
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.