Rails 3 link_to générateur pour: post,: put, & amp; :effacer?

J'ai récemment rencontré ce problème: Rails 3 link_to (:method => :supprimer) ne fonctionne pas

Dans lequel j'ai été confondu pourquoi mon link_to 'test', test_path(:test => test), :method => :post ne fonctionnait pas (pourquoi il Se faisait plutôt que de l'Affichage). Comme le post ci-dessus le suggère, c'était parce que je n'ai pas les Rails des fichiers javascript, qui gère de façon dynamique faisant le formulaire à la volée pour :post:put & :delete.

Je ne suis pas sûr que j'aime particulièrement en s'appuyant sur javascript pour faire cela pour moi, comme je tiens mon appli pour être pleinement fonctionnel avec le javascript désactivé; c'est la façon dont j'aime à développer (donc je sais que j'ai tous mes Rails de programmation fonctionnalité fonctionne correctement), et quand je fais le fil de mon appli avec javascript, je n'ai pas à vous soucier de dupliquer cette fonctionnalité, car j'ai l'habitude d'essuyer le stock javascripts fichier généré par les Rails.

J'ai lu quelque part que, techniquement, liens (anchor éléments) ne devrait vraiment être utilisé pour les requêtes GET, et que les boutons (dans le cadre des éléments de formulaire) doit être utilisé pour les autres méthodes.

Donc, mes deux questions:

  1. Est-il un bijou qui va réécrire tout link_to ... :method => à mon avis, à un élément de formulaire à la volée lors de mes points de vue sont rendus?
  2. Si non, comment pourrais-je le crochet dans le point de vue de l'analyseur d'écrire mon propre? (à l'aide de HAML, de préférence)

Essentiellement, ce que je voudrais, c'est d'écrire dans mon HAML fichier:

= link_to 'Test Link', some_path(:with => some_resource), :method => :post

... et mon rendu de la sortie HTML de sortir avec ce:

<form action="some_path?with=some_resource" method="post">
  <!-- insert appropriate _method hidden field here -->
  <!-- add appropriate csrf token and whatnot -->
  <button type="submit">Test Link</button>
</form>

... afin que tous les link_to aides avec les méthodes définies (donc, ne pas affecter plaine des liens dont le verbe est d'OBTENIR) de travail sans javascript?


Je voudrais aussi apprécier toutes les pensées au sujet de la pourquoi partie de cette question, précisément pourquoi les Rails de l'équipe a décidé de garder cette fonctionnalité liée à javascript plutôt que de faire de cette pure HTML?

source d'informationauteur neezer