2013-03-30 5 views
0

Quelle est la différence entre supprimer et détruire?delete method in Rails

Si nous générons un échafaudage, la méthode par défaut pour supprimer une entrée de date est method: :delete, alors que la suppression n'est en fait pas définie dans le contrôleur. Alors, comment les rails comprennent-ils réellement ce qu'il faut faire?

Répondre

4

DELETE est HTTP verbe tandis que destroy est une action dans le contrôleur. Si vous utilisez des ressources dans votre application, les demandes HTTP DELETE sont routées vers l'action destroy dans le contrôleur (sauf si vous modifiez le comportement par défaut). Options en link_to signifie que cliquer sur un lien déclenchera une demande HTTP DELETE.

-1

Pour autant que je sais:

méthode

Delete utilise une instruction SQL DELETE sans instancier les objets ou l'exécution d'une fonction de rappel.

Destroy fait l'appel SQL à la base de données et supprime la ligne dans la table où l'objet courant est contenu, vous pouvez toujours gérer l'objet tant que vous l'avez scoped.

Espérons que cela aide.

+0

OneZero fait clairement référence aux requêtes http mentionnant 'method:: delete' - pas aux instructions SQL. – weltschmerz

+0

Oh, mon mauvais. Je l'ai mal lu :(Désolé –