Подтвердить что ты не робот

Sunspot_Rails - undefined метод `searchable 'на странице

У меня есть модель с блоком searchable, например:

class Contact < ActiveRecord::Base
  searchable do
    text :contact_name, :company_name, :contact_email
  end  
end

В действии контроллера index я вызываю Contact.new, что дает мне сообщение об ошибке на странице, которое в настоящее время выполняется на нашем промежуточном сервере:

undefined метод `searchable 'для # < Class: 0xce0bf80 >

Трассировка стека указывает на блок searchable в модели через строку Contact.new в контроллере.

Когда я запускаю код локально, либо на веб-странице, либо на консоли, либо через консоль на промежуточном сервере, эта ошибка не появляется - только на промежуточной веб-странице.

Служба Solr работает на промежуточном сервере, и данные были успешно проиндексированы. Любые теории о том, почему он не играет в мяч в постановке, будут приняты.

ИЗМЕНИТЬ

В ответ на вопрос Ник ниже, Gemfile просто имеет эту строку для Sunspot: gem 'sunspot_rails'

Для Gemfile.lock это все строки, которые я мог бы найти, содержащие ссылки Sunspot или Solr:

GEM
  rsolr (0.12.1)
    builder (>= 2.1.2)
  sunspot (1.2.1)  
    escape (= 0.0.4)  
    pr_geohash (~> 1.0)  
    rsolr (= 0.12.1)  
  sunspot_rails (1.2.1)  
    nokogiri  
    sunspot (= 1.2.1)

DEPENDENCIES
  sunspot_rails
4b9b3361

Ответ 1

У меня была такая же проблема, и мне просто пришлось перезапустить сервер rails. Простое решение, но если бы не место для другого сообщения, которое предложило мне это сделать, я, вероятно, попытался бы отладить ошибку в течение гораздо более длительного времени, прежде чем просто попытаться перезапустить сервер, хе-хе...

Ответ 2

Это также может произойти, если вы забудете перезапустить сервер рельсов после установки нового драгоценного камня солнечных пятен

Ответ 3

Звучит для меня как драгоценный камень, который неправильно загружается на вашем промежуточном сайте. Если вы можете показать соответствующие разделы вашего Gemfile и Gemfile.lock, я могу обновить больше ответа.

EDIT - Gemfile отлично выглядит. Извините, но у меня нет ничего, не имея возможности получить доступ к приложению. Сообщить об ошибке в списке рассылки Sunspot? http://outoftime.github.com/sunspot

Ответ 4

После прочтения этого сообщения Я понял, что проблема заключается в том, что линия задач rake предотвращает загрузку Sunspot Мне удалось решить его следующим образом:

Я удалил следующую строку из своего Rakefile требуют "солнечных пятен/рельсов/задач"

Я создал файл sunspot.rake и добавил к нему содержимое следующего файла из источника драгоценных камней sunspot: /gems/sunspot _rails-1.2.1/lib/sunspot/rails/tasks.rb

Я знаю, что это взломать, но он работает.