мышление-сфинкс + ошибка REXML в рельсах 2.3.8

Пытаюсь запустить sphinx через thinking-sphinx, все работает нормально, пока не захожу на страницу поиска

у меня следующая модель

class Student < ActiveRecord::Base
 define_index do
  indexes [lastname, firstname]
 end
end

и в моем контроллере приложений я включил (после некоторого веб-поиска)

include REXML

Но когда я иду к действию индекса контроллера студентов

def index
    @students = Student.search params[:search]
end

я получаю следующую ошибку

undefined method `default_external' for REXML::Encoding:Module

любая идея о том, что происходит?

мой env выглядит следующим образом

RubyGems Environment:
  - RUBYGEMS VERSION: 1.8.10
  - RUBY VERSION: 1.8.7 (2011-12-28 patchlevel 357) [x86_64-linux]
  - INSTALLATION DIRECTORY: /home/sameera/.rvm/gems/ruby-1.8.7-p357
  - RUBY EXECUTABLE: /home/sameera/.rvm/rubies/ruby-1.8.7-p357/bin/ruby
  - EXECUTABLE DIRECTORY: /home/sameera/.rvm/gems/ruby-1.8.7-p357/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-linux
  - GEM PATHS:
     - /home/sameera/.rvm/gems/ruby-1.8.7-p357
     - /home/sameera/.rvm/gems/ruby-1.8.7-p357@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/


 Linux

 thinking-sphinx-1.4.11

рельсы 2.3.8

заранее спасибо


person sameera207    schedule 18.04.2012    source источник


Ответы (3)


Я не совсем уверен, в чем именно проблема, но я думаю, что слышал о других проблемах, связанных с объединением Thinking Sphinx с REXML. Что произойдет, если вы не используете/не загружаете REXML?

person pat    schedule 24.04.2012
comment
Привет @pat, спасибо за ответ, на самом деле без использования load REXML я также получаю ту же ошибку (так что, вероятно, это не имеет ничего общего с этой ошибкой, я просто попробовал, потому что в Интернете есть некоторые рекомендации для использования как это способ) - person sameera207; 24.04.2012
comment
Это было бы странно, потому что ошибка ссылается на REXML... вы все еще загружаете REXML в свое приложение, даже если его нет в контроллере? - person pat; 26.04.2012

Какую версию Sphinx вы пытаетесь установить? sphinx 2 работает только с Rails 3 http://freelancing-god.github.com/ts/en/rails3.html

person Throneless    schedule 25.04.2012
comment
Не совсем так — Thinking-sphinx 2.x предназначен для Rails 3, но любой недавний выпуск Thinking-sphinx 1.x будет поддерживать до Sphinx 2.0.3 (и Sphinx 2.0.4 зафиксирован, но пока не в гем-релизе). - person pat; 26.04.2012
comment
Привет, спасибо за ответ, я слежу за этим скриншотом railscasts.com/episodes /120-thinking-sphinx?autoplay=true, и мой проект работает на рельсах 2.3.8 с мышлением-sphinx-1.4.11 - person sameera207; 26.04.2012

Как указано в группе Riddle Google, не включая REXML, но просто требуя, чтобы он устранил проблему.

person clarif    schedule 17.07.2012