Comment faites-vous envoyer une demande avec le “SUPPRIMER” HTTP verbe?
J'aimerais créer un lien dans une vue dans une application Rails, qu'est-ce que...
DELETE /sessions
Comment je le fais.
Complication supplémentaire:
La "session" de la ressource n'a pas de modèle, car il représente un nom d'utilisateur de la session. CREATE
signifie que l'utilisateur se connecte, DESTROY
signifie se déconnecte.
C'est pourquoi il n'y a pas d'ID de paramètre dans l'URI.
Je suis en train de mettre en œuvre un lien "log out" dans l'INTERFACE utilisateur.
Vous devez vous connecter pour publier un commentaire.
Correcte, les navigateurs ne sont pas réellement en charge l'envoi de requêtes de suppression. La convention acceptée de nombreux frameworks web est d'envoyer un _method paramètre est défini sur "SUPPRIMER", et d'utiliser une requête POST.
Voici un exemple dans les Rails:
Vous voudrez peut-être avoir un coup d'oeil à Réparateur D'Authentification.
Je ne sais pas sur les Rails, mais j'ai souvent construire des pages web qui envoient les SUPPRIMER (et de vente) des demandes, à l'aide de Javascript. Je viens d'utiliser les objets XmlHttpRequest pour envoyer la requête.
Par exemple, si vous utilisez jQuery:
un lien qui ressemble à ceci:
Et d'exécuter ce code Javascript:
J'ai écrit cet exemple, surtout à partir de la mémoire, mais je suis sûr que ça va marcher....
Corrigez-moi si je me trompe, mais je crois que vous pouvez seulement envoyer envoyer et me demande avec un navigateur (en HTML).
De Rails intégrés dans la méthode de liens va générer quelque chose comme ceci:
Si vous ne souhaitez pas utiliser les Rails intégré dans la méthode (c'est à dire ne voulez pas le
, qui empêche les robots des moteurs de recherche de suivre le lien), vous pouvez également écrire manuellement le lien et ajouter le
data-method
attribut, comme suit:Les navigateurs ne peuvent envoyer GET/POST demandes, de sorte que cela va envoyer un requête GET à votre serveur Rails. Rails de les interpréter et l'itinéraire de la ce en tant que DÉTRUIRE/SUPPRIMER la demande, et des appels à l'action appropriée.