2011-08-11 20 views
13

tengo un modelo con un bloque searchable, así:Sunspot_Rails - método no definido `de búsqueda' en la página

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

En la acción del controlador index, estoy llamando Contact.new, que me está dando un mensaje de error en la página, que actualmente se está ejecutando en nuestro servidor de almacenamiento intermedio:

método no definido `de búsqueda' para # < Clase: 0xce0bf80 >

El seguimiento de la pila apunta al bloque searchable en el Modelo a través de la línea Contact.new en el controlador.

Cuando ejecuto el código localmente, ya sea en la página web o en la consola, o a través de la consola en el servidor de ensayo, este error no aparece, solo en la página web de ensayo.

El servicio Solr funciona correctamente en el servidor de almacenamiento intermedio y los datos se han indexado correctamente. Se aceptarán todas las teorías sobre por qué no está jugando a la pelota en la Etapa.

EDITAR

En respuesta a la pregunta de Nick a continuación, la Gemfile solo tiene esta línea de la mancha solar: gem 'sunspot_rails'

Para Gemfile.lock, estas son todas las líneas que pude detectar que contiene la mancha solar o Solr referencias :

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 
+0

Estoy teniendo el mismo problema. ¿Alguna vez lograste resolver esto? –

+0

¿Qué versión de Ruby, Rails, RubyGems y Bundler estás usando? Terminé actualizando RubyGems y Bundler y el problema (mágicamente) desapareció. –

Respuesta

0

Me parece que la gema no se está cargando correctamente en su sitio de ensayo. Si puede mostrar las secciones relevantes de su Gemfile y Gemfile.lock, puedo actualizarlo con más de una respuesta.

EDITAR - Gemfile se ve bien. Lo siento, pero no tengo nada sin poder poner la aplicación en mis manos. ¿Reporta un error a la lista de correo Sunspot? http://outoftime.github.com/sunspot

0

Después de leer this post comprendí que el problema se debe a que la línea de tareas rastrillo evita que la carga de la mancha solar he conseguido resolverlo de la siguiente manera:

que eliminan la siguiente línea de mi Rakefile requieren 'manchas solares/carriles/tareas'

he creado un archivo sunspot.rake y se añade a que el contenido del siguiente archivo de la fuente de manchas solares joya: /gems/sunspot_rails-1.2.1/lib/sunspot/rails/ tasks.rb

Sé que esto es un truco, pero está funcionando.

13

Tuve el mismo problema, y ​​tuve que reiniciar el servidor de mis raíles. Solución simple, pero si no fuera por otra publicación en alguna parte que sugiriera que lo hiciera, probablemente habría intentado depurar el error por un tiempo mucho más largo antes de tratar de reiniciar el servidor, jeje ...

5

Esto también puede ocurrir si olvida reiniciar su servidor de rieles después de instalar la nueva gema de manchas solares

Cuestiones relacionadas