2010-04-28 8 views
0

J'essaie d'obtenir un bouton 'ajouter au panier' pour travailler. Lorsque j'utilise <%= button_to "Add to Cart", :acton => "add_to_cart", :id => @product %> puis cliquez sur le bouton, j'obtiens une URL qui met l'action après l'ID, comme ceci: http://localhost:3000/store/show/1?acton=add_to_cart La page du panier ne se charge pas.'button_to' me donne une URL moche!

Ce dont j'ai besoin, c'est d'une URL qui ressemble à ceci: http://localhost:3000/store/add_to_cart/1. Je peux obtenir ce résultat (et le chariot au travail) si je ne l'utilise « button_to »:

<% form_for @product, :url => {:action => "add_to_cart", :id => @product} do |f| %> 
    <p><%= f.submit 'Add to Cart' %></p> 
<% end %> 

Mais, ce que le diable? Pourquoi ne puis-je pas utiliser button_to?

+1

Peut-être juste une faute de frappe? Si votre code actuel dit aussi: "acton" au lieu de ": action", cela pourrait en être la cause. ;-) –

Répondre

4

dans votre button_to vous devez utiliser l'action au lieu de acton

comme

<%= button_to "Add to Cart", :action => "add_to_cart", :id => @product %> 
+0

merci les gars pour l'époque. l'explication de typo est douce-amère. J'ai regardé ça pendant une bonne heure. – Jake

Questions connexes