2013-05-15 4 views
0

utilisant Ruby et le framework Ruby on Rails, j'ai créé trois liens qui lisent à partir d'une base de données, modifier une entrée de base de données et supprimer une entrée de la base de données:Comment les verbes HTTP sont-ils envoyés au serveur rails?

Afficher:

<a href="/inputs/2">Show</a> 

Edit:

<a href="/inputs/2/edit">Edit</a> 

Destroy:

<a href="/inputs/2" data-confirm="Are you sure?" data-method="delete" rel="nofollow">Destroy</a> 

Modifier et spectacle sont à la fois GET s. Supprimer est un DELETE. Ce que je veux clarifier, c'est: où sont définies ces méthodes? Est-ce dans le paramètre de lien data-method="delete"? Dans ce cas, où n'existe-t-il pas de jeu de méthodes de données pour afficher et éditer? Les rails supposent-ils simplement un lien sans méthode de données? GET? Et quelle est la signification du paramètre rel="nofollow"?

+0

Possible duplicate de http://stackoverflow.com/questions/165779/are-the-put-delete-head-etc-methods-available-in-most-web-browsers – depa

Répondre

1

Il y a un nice blog article sur la façon dont data-method attributs sont convertis en verbes HTTP via Javascript. En bref, comme vous l'avez déjà deviné, la valeur par défaut est GET pour toutes les demandes émises en cliquant sur un lien.

0

Le routeur Rails reconnaît les URL et les distribue à l'action d'un contrôleur. Il peut également générer des chemins et des URL, ce qui évite la nécessité de coder des chaînes dans vos vues

pour plus d'informations vérifier this

+0

Je pense que la question OPs est plus liée côté client qui formule la requête HTTP au lieu de l'interprétation sur le serveur. –

Questions connexes