J'essaye d'envoyer un paramètre de vote: 'up' à mon contrôleur, de sorte qu'il remplisse la fonction de vote de current_user.vote_exclusively_for (@book). J'utilise les pouces vers le haut de gemme. J'essaie de le faire en utilisant link_to, et les paramètres corrects apparaissent dans la sortie de mon serveur, mais cela ne fonctionne pas avec le contrôleur. Je dois faire quelque chose de mal, mais je ne suis pas sûr de quoi. Dois-je faire quelque chose de différent avec les itinéraires, autres que les livres: les ressources?Publication sur le contrôleur via link_to
Cette mon action vote dans books_controller
def vote
@book = Book.find(params[:id])
if params[:vote] == 'up'
current_user.vote_exclusively_for(@book)
end
redirect_to @book
end
Et voici l'exemple link_to à mon avis:
<%= link_to "Vote Up", :url => { :controller => "books", :action => "vote", :vote => "up"}, :method => :post %>
Tous les conseils sur où mes tentatives se délitent serait grandement apprécié (note supplémentaire : quand je mets la fonction current_user.vote_exclusively_for (@book) à mon avis ça marche) donc je pense que c'est un problème de view/routes/link_to, pas la fonction elle-même.
Que voulez-vous dire «cela ne fonctionne pas avec le contrôleur»? Le code de votre contrôleur est-il en cours d'exécution? Voyez-vous une erreur quelque part? Quel est le résultat de l'exécution de «rake routes»? – Samo