2010-05-31 3 views
0

J'ai réussi à mettre en place ce plugin avant, donc je suis curieux de savoir ce que je fais mal ici. J'ai développé la possibilité pour les utilisateurs d'ajouter des tags aux questions. Je n'utilise pas de plugin de marquage ici, mais cela ne devrait pas avoir d'importance pour cela. En ce qui concerne l'auto-complétion, j'essaie que le formulaire situé dans le fichier /views/questions/show.html.erb accède au tableau des étiquettes et affiche les entrées dans la colonne tags.tags_name.erreur plugin auto_complete: Impossible de trouver la question avec ID = auto_complete_for_

Quand je commence à taper dans le champ je reçois le message d'erreur suivant:

Processing QuestionsController#show (for 127.0.0.1 at 2010-05-31 15:22:20) [GET] 
    Parameters: {"tag"=>{"tag_name"=>"a"}, "id"=>"auto_complete_for_tag_tag_name"} 
    Question Load (0.1ms) SELECT * FROM "questions" WHERE ("questions"."id" = 0) 

ActiveRecord::RecordNotFound (Couldn't find Question with ID=auto_complete_for_tag_tag_name): 
    app/controllers/application_controller.rb:15:in `init_data' 

Pour une raison que je passe en fait le nom du champ comme Question.id.

Le plugin mis en place est assez simple que vous ajoutez la ligne suivante à votre contrôleur:

auto_complete_for :tag, :tag_name 

et la ligne suivante dans votre fichier routes.rb:

map.resources :tags, :collection => {:auto_complete_for_tag_tag_name => :get } 

J'ai ajouté la ligne de commande à la fois mes balises et questions contrôleur et également mappé des ressources pour les balises et les questions dans mon fichier routes.rb:

map.resources :tags, :collection => {:auto_complete_for_tag_tag_name => :get } 
map.resources :questions, :collection => {:auto_complete_for_tag_tag_name => :get } 

J'ai joué avec le retrait de l'un ou de l'autre mais je n'arrive pas à le réparer. Des idées de ce que je fais mal ici?

MISE À JOUR:

Mon QuestionsController l'action # show est postes de pêche par:

@question = Question.find(params[:id]) 

Répondre

0

a trouvé la réponse. Fou. Il vous suffit d'ajouter à votre fichier routes.rb:

map.auto_complete ':controller/:action', 
    :requirements => { :action => /auto_complete_for_\S+/ }, 
    :conditions => { :method => :get } 

Here is where I found it.

Questions connexes