Nous saluons le retour.
Dans cette vidéo, nous allons ajouter en autorisant les routes de commentaire que nous venons d'ajouter dans modifier la mise à jour et de détruire le seul à utiliser ou pour être en mesure de réellement modifier ou mettre à jour quelque chose si cet utilisateur possède le commentaire comme nous l'avons fait Pour les terrains de camping.
Nous allons réaliser cela avec essentiellement le même code où nous avons un middleware pense que nous avons appelé la propriété de parcours de chèque de nôtre, mais la nôtre sera appelée vérifier la propriété des commentaires et ensuite nous voulons aussi nous assurer que nous cacher et montrer ces boutons, T montrent à un utilisateur un bouton de suppression qu'ils ne peuvent pas cliquer.
Ils n'ont pas la permission de supprimer ce commentaire.
Qui est également fondamentalement le même code que nous avons utilisé pour les commentaires ou pour les terrains de camping.
Et puis enfin et c'est la seule chose qui est vraiment nouvelle, c'est que je veux que nous refactoriser notre middleware.
Donc, essentiellement, il suffit de déplacer tous nos middleware dans un nouveau fichier et exiger que le fichier commencera par s'assurer qu'un utilisateur ne peut pas accéder à l'itinéraire d'édition si il ou elle ne possède pas ce commentaire.
Alors allons à l'itinéraire au lieu de nos commentaires ici.
Et passons à Edit.
Nous voulons un middleware ici qui fera la vérification pour nous.
Alors vérifiez les commentaires de propriété comme nous l'avons fait dans la dernière vidéo ou dans la dernière vidéo du camping où nous avons vérifié la propriété du terrain de camping et si nous jetons un coup d'oeil à ce code va simplement copier le tout.
C'est un peu long de le mettre au bas avec notre autre milieu où nous allons changer ce nom vérifier les commentaires de propriété.
La première chose que nous faisons est de vérifier est l'utilisateur se connecter est tout utilisateur connecté.
Si ce n'est pas seulement de les rediriger vers le bas et affichera un message éventuellement qui dit s'il vous plaît signer ou vous devez être signé pour le faire.
Et c'est une erreur différente que vous n'êtes pas le propriétaire correct.
Nous ne voulons donc pas simplement dire que vous n'avez pas la permission de le faire.
Toujours, nous voulons dire connexion en premier et puis si vous vous connectez et vous ne le possédez pas encore, nous allons envoyer un message différent.
Pour l'instant, cela n'a pas d'importance parce que nous n'avons pas ces messages.
Donc, si vous êtes connecté, nous avons besoin de trouver le commentaire de commentaires sur fine par vendredi.
Ce n'est pas la demande jusqu'à tramstop demande d'ID jusqu'à tramstop commentaires Id changer ce que l'on trouve commentaire.
S'il ya une erreur de redirection, c'est bien.
Sinon, nous allons changer votre commentaire pour le rendre un peu plus clair.
Et je continue à dire des commentaires.
Je veux dire changer le commentaire javascript pas le modèle de commentaire réel.
Ensuite, nous devons vérifier si l'auteur du commentaire trouvé que l'ID est égal à la demande que l'ID utilisateur.
Prenons donc un coup d'oeil au modèle pour commenter.
Rappelez-vous que nous avons un auteur et que l'auteur a un ID et c'est une mangouste I.D. Donc nous ne pouvons pas faire triple égaux comme avec le terrain de camping.
Donc, si vous avez trouvé un commentaire, l'ID ID de l'auteur est égal à cette méthode spéciale que nous comparons à l'ID de l'utilisateur connecté qui est stocké à l'intérieur de la demande que l'utilisateur grâce au passeport.
Donc, si c'est le cas, tout est bon, ce qui signifie que nous pouvons continuer et exécuter le gestionnaire d'itinéraires suivant.
Sinon redirection arrière et à nouveau la raison pour laquelle j'ai séparé tout cela même si c'est redstart redirection retour trois fois différentes afin que nous puissions spécifier un message d'erreur différente une fois que nous arrivons à cela en seulement quelques vidéos à partir de maintenant.
Assurons-nous maintenant que tout le reste est bon.
Vérifiez la propriété commune.
Nous avons cela ici.
Nous devons aller à Edit route.
Nous avons ajouté que dans la propriété commentaire de contrôle.
Grand nous allons lui donner un coup de feu et voir ce qui se passe.
Bien.
Donc tout le monde devrait être capable d'arriver ici.
Je ne suis pas connecté en ce moment donc si je clique dessus il me ramène ici.
Parfait.
Maintenant, si je me connecte en tant que Sirius Black qui a créé ce commentaire et j'essaie à nouveau, il fonctionne maintenant.
Ajoutons quelques trucs d'experts ici.
Maintenant, ce n'est pas protégé car c'est l'itinéraire de mise à jour.
Donc, nous faisons juste exactement la même chose, c'est pourquoi il est si agréable que nous l'avons déplacé dans une fonction distincte parce que nous pourrions juste avoir tout ce code ici et puis il en dupliqué pour la mise à jour aussi bien.
Ici.
Et pour détruire.
Mais laissons cela pour le moment.
Assurez-vous que cela fonctionne.
Donc, en théorie je pouvais en quelque sorte finir par envoyer une demande de mise à jour de facteur ou quelque chose comme ça à partir d'une autre application.
Cependant, vous savez qu'un utilisateur ferait ce qui est serait très rare, mais en théorie, quelqu'un pourrait le faire.
Et sans ajouter la propriété de commentaire de contrôle à mettre à jour il ne serait pas protégé.
Mais nous ne remarquerons rien de différent ici si j'essaie.
Le même problème si je me connecte de nouveau dedans et vous pouvez juste sauter par ceci si vous n'avez pas vraiment soin de le voir.
Pas la partie la plus excitante de ce cours me regardant se connecter maintenant si je modifie la mise à jour fonctionne bien.
Et si j'avais signé à ce moment-là ou si mes données étaient erronées ou quelque chose de bizarre est arrivé, il me redirigerait et éventuellement afficher un message.
OK pour que la mise à jour est maintenant si je ne cliquez sur supprimer.
Lorsque je ne suis pas connecté, je peux supprimer ce commentaire qui n'est évidemment pas ce que nous voulons faire, alors fixons-le.
Allons à une page qui a des commentaires.
Celui-ci n'en a pas.
Permettez-moi d'ajouter un commentaire dans encore une fois pas le plus excitant.
Oh et j'ai tapé un commentaire au mot de passe de manière incorrecte.
Oh cher.
Essayons encore une fois.
D'ACCORD.
Allons à High Rocky Mountain.
Ajouter un commentaire à moi.
D'ACCORD.
Donc, je ne veux pas qu'un utilisateur puisse le supprimer à moins d'être connecté.
C'est exactement la même chose.
Super facile pour nous.
Il suffit de trouver l'itinéraire détruire ajouter Waren ou au milieu et c'est tout ce dont nous avons besoin.
Donc, si nous l'essayons, je viens de vous montrer que, actuellement, avant de faire ce changement.
Tout le monde peut supprimer.
Maintenant, si je rafraîchis je ne suis pas connecté, j'ai cliqué sur supprimer et il est toujours là.
Refuse de supprimer.
Grande dernière grande étape est de montrer et de cacher ces boutons de manière appropriée.
Alors laissez-moi signer ou vous inscrire comme quelqu'un d'autre.
Inscrivez-vous comme Dumble porte à porte.
Le mot de passe est également le mot de passe.
S'inscrire.
Ajoutons également des commentaires.
Maintenant deux commentaires différents deux auteurs différents.
Si je suis signé dans cette double porte, je veux seulement voir les boutons de suppression ici.
Ceux-ci devraient être cachés pour moi afin de faire cela.
Jetez un oeil à la façon dont il l'a fait sur la page d'exposition pour les boutons de suppression et d'édition du terrain de camping.
Ce qui est juste ici.
Cette seule ligne si l'utilisateur courant et les données d'auteur de camping sont égales à l'identification d'utilisateur courante alors nous montrons ceci très très semblable sauf pour quelques changements.
Premièrement, ce n'est pas des terrains de camping au point d'auteur.
C'est l'auteur de commentaires et cela est défini ici dans notre foreach.
Donc, quel que soit ce qui est dans notre cas pour chaque terrain de camping commentaires tableau appeler commentaires afficher l'auteur afficher le texte et puis vérifier s'il ya un utilisateur actuel.
Et si l'ID de l'utilisateur actuel est ici qui est stocké.
Il ya beaucoup de pièces en mouvement ici, mais je vais passer en revue brièvement.
Cela vient de cette ligne que nous avons ajoutée à Abdoulaye nous up top qui ajoutent.
Où êtes-vous ici.
Utilisateur actuel à chacun de nos modèles.
L'utilisateur actuel est égal à l'utilisateur de demande et demande aux utilisateurs venant du passeport.
Il a les informations d'utilisateur si l'utilisateur actuel.
S'il y en a un, nous devons le faire, s'il y en a un, parce que si nous n'avons pas cette première partie et tout ce que nous avons est ceci s'il n'y a pas d'utilisateur actuel, cela nous donnera une erreur disant que l'utilisateur actuel est indéfini.
OK si commun que l'auteur de cette ID.
La dernière chose dont nous avons besoin est d'ajouter dans notre support de fermeture ou une attache bouclée pour l'instruction if.
Pas de signe égal.
Donc, tout cela est inclus dans cette déclaration si.
Prenons un coup pour commencer.
Si j'étais frais, il me fermera et nous ne verrons pas de boutons.
Perfect seinen fera double porte.
Retournez à Rocky Mountain High et nous ne voyons que ces boutons.
Parfait.
Assurez-vous que cela fonctionne toujours.
Assez bon mais toujours il semble aussi bon.
Maintenant, nous allons signer en tant que Sirius Black.
Maintenant nous nous attendons à voir les boutons et nous le faisons.
Parfait et je peux aussi supprimer ce maintenant.
Supprimez-le.
Je veux quitter ce terrain de camping parce que les terrains de camping sont précieux.