Sunspot_Rails - неопределенный метод `searchable 'на странице - PullRequest
13 голосов
/ 11 августа 2011

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

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

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

неопределенный метод `searchable 'для #

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

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

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

EDIT

В ответ на вопрос Ника, приведенный ниже, в 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

Ответы [ 5 ]

13 голосов
/ 13 марта 2012

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

5 голосов
/ 14 июля 2012

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

0 голосов
/ 30 июня 2018

Я только что запустил spring stop, и он исправил это

0 голосов
/ 07 марта 2012

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

Я удалил следующую строкуиз моего Rakefile требуется 'sunspot / rails / tasks'

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

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

0 голосов
/ 11 августа 2011

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

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

...