2011-05-14 12 views
5

Estoy tratando de lograr un tipo simple utilizando los parámetros pasados ​​a mi controlador. Estoy siguiendo el documentation en el sitio de búsqueda & Thinking Sphinx y me aparece el siguiente error. ¿Qué estoy haciendo mal?¿Cómo se ordena el uso de Thinking Sphinx on Rails 3?

El siguiente objeto @places es una instancia de la clase think Sphinx.

@places = Place.search(params[:q], :order => :created_at) 

ThinkingSphinx::SphinxError (index place_core: sort-by attribute 'created_at' not found): 

Respuesta

7

Necesita agregar los campos en los que desea buscar. Luego, para ordenar por un campo, debe marcarlo como ordenable en su modelo, o debe agregar un atributo en el método define_index como explained here.

para su modelo, algo como esto:

class Place < ActiveRecord::Base 
    # ... 

    define_index do 
    # fields 
    indexes subject, :sortable => true 
    indexes content 
    indexes author.name, :as => :author, :sortable => true 

    # attributes 
    has created_at 
    end 

    # ... 
end 

En ese ejemplo, tema, autor y created_at se pueden ordenar.

Cuestiones relacionadas