Задание Rake прервано, неопределенный метод 'indexes' для Thinking Sphinx? - PullRequest
8 голосов
/ 07 ноября 2011

У меня в приложении установлены Sphinx и Thinking Sphinx 2.0.5, и когда я продолжаю пытаться запустить команду rake ts:index, выдается следующее сообщение:

rake aborted!
undefined method `indexes' for #<Riddle::Configuration:0x41b57b0>

Речь идет о моей Product модели?

class Product < ActiveRecord::Base
  attr_accessible :name
  validates_presence_of :name

  define_index do
    indexes :name
  end
end

Почему я получаю это и как это исправить?

Ответы [ 3 ]

16 голосов
/ 07 ноября 2011

Согласно написанному здесь: https://github.com/freelancing-god/thinking-sphinx/issues/301

В вашем Gemfile попробуйте изменить:

gem 'thinking-sphinx', '2.0.5'

на

gem 'thinking-sphinx', '2.0.10'
1 голос
/ 23 ноября 2012

Чувак, вы можете попробовать перейти на Gemfile.lock и посмотреть на эти строки:

riddle (1.5.0)
thinking-sphinx (2.0.5)
   activerecord (>= 3.0.3)
   builder (>= 2.1.2)
   riddle (>= 1.5.0)

Если вы снова прочитаете ошибку, вы увидите, что это ошибка запуска Riddle, а не sphinx.

*undefined method `indexes' for #<Riddle::Configuration:0x41b57b0>*

У меня есть проект, отлично работающий с think-sphinx 2.0.5, а в Gemfile.lock sphinx требуется загадка версии 1.3.3 или старше, поэтому в проекте такой же мыслящий сфинкс неработая, я изменил свою версию загадки в файле gem с 1.5.0 до 1.3.3, используя think-sphinx 2.0.5, и проблема была решена.Sphinx версии 2.0.10 отлично работает с Riddle 1.5.0, поэтому вам нужно выбрать, хотите ли вы изменить версию Geofing.phinx Gem или версию Riddle на Gemfile.lock на:

riddle (1.3.3)
rubyzip (0.9.4)
thinking-sphinx (2.0.5)
  activerecord (>= 3.0.3)
  riddle (>= 1.3.3)
1 голос
/ 17 ноября 2011

в моем Gemfile у меня была запись как

драгоценный камень 'think-sphinx', '2.0.3'

Я получил ту же ошибку. Затем я изменил его на

gem'inking-sphinx ',' 2.0.10 'и проблема была решена.

...