2011-01-19 2 views

Répondre

1

: la méthode est seulement supposée être utilisée pour spécifier entre les requêtes POST, GET, DELETE et PUT. Votre deuxième paramètre de link_to devrait être l'action que vous voulez exécuter dans votre contrôleur.

<%= link_to "Up", :action => :voteup %> 
+0

Merci pour votre aide, mais je l'ai quand je l'essaie: 'Aucune route correspond {: controller =>" quotes ",: action =>" voteup "}' Et j'ai utilisé ': voteup' pas' 'voteup" 'dans mon code –

3

Je pense que la meilleure façon serait ceci:

En config/routes.rb:

resources :quotes do 
    member do 
    post :upvote 
    end 
end

Et votre lien:

<%= link_to 'Up', upvote_quote_path(@quote), :method => :post %>

Notez que nous utilisons une requête POST, qui est plus approprié qu'une requête GET lors de la modification d'un enregistrement.

+1

Cela devrait probablement être' <% = link_to 'Up', upvote_quote_path (@quote),: method =>: post%> ', sinon il aura toujours une erreur" No route matches "car il Je vais essayer de faire une demande GET. –

+0

Merci! Actualisé. –

+0

Toujours obtenir 'Aucune correspondance de route {: controller =>" quotes ",: action =>" upvote "}': / –

Questions connexes