ruby-on-rails solr full-text-search ruby-on-rails-3.1 sunspot

ruby on rails - método indefinido "resultados" con Sunspot Solr Search



ruby-on-rails full-text-search (4)

¿Estás seguro de que no hay conflictos con otras gemas de búsqueda? No puedo probarlo en este momento, pero estoy bastante seguro de que Sunspot no usa MetaSearch :: Searches. Sin embargo, esta joya sí lo hace: https://github.com/ernie/meta_search/ .

¿Has intentado hacer esto en su lugar?

@search = Sunspot.search(Product) do fulltext params[:search] end

De esta forma, puede estar seguro de que usa Sunspot para buscar y no otra gema. Además, si necesita más gemas de búsqueda, coloque Sunspot encima de ellas en el gemfile.

Estoy utilizando Rails 3.1 y he estado utilizando este tutorial de Railscast para implementar manchas solares. Estoy siguiendo todo bien (creo) sin embargo, cuando ejecuto la búsqueda de esta manera:

class ProductsController < ApplicationController # GET /products # GET /products.xml def index @search = Product.search do fulltext params[:search] end @products = @search.results respond_to do |format| format.html format.xml { render :xml => @products } end end...

Así es como he declarado la searchable en mi archivo product.rb

searchable do text :title end

Sin embargo sigo corriendo al siguiente error

undefined method `results'' for #<MetaSearch::Searches::Product:0x12a089f50>

Pero cuando solo hago @products = @search , obtengo una lista completa de todos los productos, sin importar lo que envíe en la consulta de búsqueda

¿Alguien tiene alguna idea de lo que estoy haciendo mal?


En mi caso fue la etiqueta de los rieles del formulario, no es @Class_form , es <% form_tag posts_path, :method => :get %>


Gracias Nick Zadrozny,

Nuestro equipo debate hoy debido a este problema.

La causa principal del problema es que agregamos el administrador activo.

Tuvimos que cambiar todo ".search" en ".solr_search"


Sunspot se negará a definir el método de search clase si la clase ya tiene uno definido. En su lugar, puede usar el método solr_search para el mismo efecto.