2010-08-23 6 views
1

Disons que j'ai des gens, et les gens ont beaucoup de pastèque.Can sunspot-solr filter_by attributs imbriqués?

J'ai un filter_by qui peut fonctionner pour les personnes attributs, par exemple:

:filter_by => 'has_eaten_today' 

Mais puis-je faire un :filter_by pour l'attribut imbriqué de melon d'eau? Par exemple:

:filter_by => 'watermelons.created_at' 

Merci!

Répondre

2

Cette question est venue de moi ne comprenant pas vraiment Sunspot-solr, mais c'est assez facile.

cible seulement les attributs imbriqués de votre modèle:

def watermelon_time 
    self.watermelon.created_at 
end 

Ensuite, ajoutez que pour

searchable do 
    time :watermelon_time 
.. 

Puis mon contrôleur:

query.with(:watermelon_time).equal_to(params[:filter_by] == 'watermelon_time' ? 'true' : false) if params[:filter_by] 

Bonus:

Ajouté une lien pour écrire cette fonctionnalité dans mon:

= link_to 'Watermelon Time', url_for(:overwrite_params => { :filter_by => 'watermelon_time', :page => nil }) 

Bon appétit!

Questions connexes