2012-07-27 4 views
0

Dans mon application, je me sers Sunspot pour une recherche de texte intégral. Le problème est que je veux avoir le tri par champ modèle d'association. Dans mon cas:trier par champ association sunspot

class Movie < ActiveRecord::Base 
    attr_accessible :description, :genre, :name 
    has_many :premieres 
end 

et mon modèle Premier a:

belongs_to :movie 

Recherche par nom du film se fait en définissant la méthode:

def movie_name 
    movie.name 
end 

mais lorsque je tente de faire:

order_by :movie_name, :asc 

Il dit:

Aucun champ configuré pour Premiere avec le nom 'MOVIE_NAME'

Comment puis-je faire ce tri disponible?

Répondre

1

vous pouvez le faire comme ça

searchable auto_index: true do 
    text :movie_name do 
    if self.movie.present? 
     self.movie.name 
    end 
    end 
end 

vous pouvez utiliser

order_by :movie_name, :asc