10
votes

Méthode non définie "Résultats" avec Solspot Solr Search

J'utilise des rails 3.1 et utilisez Ce didacticiel sur railsCast pour implémenter SunSpot. Je suis tout ce que tout va bien (je pense) cependant quand j'exécute la recherche comme ceci:

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


0 commentaires

4 Réponses :


38
votes

Êtes-vous sûr qu'il n'y a pas de conflit avec d'autres gemmes de recherche? Je ne peux pas le tester pour le moment, mais je suis assez sûr que Sunpot n'utilise pas Metasearch :: Recherches. Cependant, ce bijou fait: https://github.com/ernie/meta_search/ .

Avez-vous essayé de faire cela Au lieu de cela? P>

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


5 commentaires

cela a définitivement travaillé! Hmmm j'ai vérifié mes gemmes et je n'ai pas pu voir ce qui causerait le conflit, comprendre cela ... Toute autre perspicacité sera très appréciée!


Il est en train de charger métasearch en quelque sorte, avez-vous vérifié votre fournisseur / plug-ins ou Vendor / Gem Directory? Vous pouvez utiliser gem.loaded_specs.Keys pour voir quelles gemmes sont actuellement chargées.


Ok je l'ai trouvé dans le gemfile.lock. Apparemment, la gemme ActiveAdmin l'utilise. Peut-être que je devrais simplement me débarrasser de l'administrateur actif si je veux que SunSpot fonctionne. Pouvez-vous recommander n'importe quel gemme similaire à ActiveAdMin ActiveAdmin.info


Avez-vous essayé d'ajouter SunSpot au-dessus d'ActiveAdmin dans le gemfile? En outre, il n'y a pas d'effet indésirable d'avoir SunSpot.Search (produit) sur le produit.Search. Donc, si SunSpot et ActiveAdMin fonctionnent, je ne me dérangerais pas à chercher un remplaçant.


J'ai essayé de réorganiser mais cela n'a pas eu aucune incidence. Il semble que les pierres précieuses dépendent de la gemfile.lock qui semble commander des gemmes par ordre alphabétique afin que je ne puisse pas avoir de sol succulent au-dessus d'ActiveAdmin. Oui, je suis d'accord qu'il n'y a pas d'effet indésirable, je n'aime pas, je n'aime pas l'idée d'ActiveAdMin messing avec la manière dont la syntaxe de la syntaxe des taches de soleil est censée être.



18
votes

Sunspot refusera de définir la méthode de recherche de la classe si la classe a déjà une définie. Vous pouvez plutôt utiliser la méthode solr_search au même effet.


0 commentaires

1
votes

Merci Nick Zadrozny,

Le débat de notre équipe aujourd'hui à cause de cette question.

La cause première de la question est dû à celle de l'administrateur actif.

Nous avons dû changer tout "Recherche" dans ".solr_search"


0 commentaires

0
votes

Dans mon cas, c'était la balise des rails de la forme, ce n'est pas @class_form , c'est <% form_tag posts_path,: méthode =>: Obtenez%%>


0 commentaires