2011-11-04 4 views
0

J'utilise Rails 3.1 ici, et j'ai le code suivant à mon avis:Changer la méthode HTTP POST avec link_to

<%= link_to "again!", main_pick_path,{:method => :post, :var => @var} %> 

L'idée est de créer un lien (pas un bouton) qui , lorsqu'il est cliqué, appelle l'action de sélection du contrôleur principal, en passant la valeur de @var dans params via une requête POST.

Ce code génère le code HTML suivant dans mon navigateur:

a href="/main/pick" data-method="post" rel="nofollow" var="foo">again!</a> 

Cependant, lorsque je clique sur le lien que je vous envoie encore une requête GET. Est-ce une limitation de mon navigateur, Chrome? Du point de vue de la conception, devrais-je utiliser une requête GET à la place et placer la variable dans l'URL? Les hyperliens sont-ils simplement incapables d'utiliser la méthode POST? Y a-t-il une vie après la mort?

Merci à l'avance

Répondre

0

Vous ne pouvez le faire avec AJAX ou tir d'un formulaire. Le tag A ne peux pas faire un POST "seul".

+0

Je vois. Je ne suis pas sûr que ce soit la meilleure façon de le faire, mais j'ai fini par utiliser un form_tag, puis mettre la variable dans params en utilisant un hidden_field_tag, et en utilisant button_to pour créer le bouton submit: https://gist.github.com/1340379 Merci pour votre aide =) – Chazu