Salut,

J'ai un problème avec turbolinks et le script de JeffreyWay laravel.js avec le data-method="delete" quand je actualise la page ou je peut supprimer un post ca fonctionne, par contre si je parcour mon profil par exemple puis je revient sur mon post pour le supprimer plus rien ne ce passe comme si la data-method="delete" et data-confirm"text" serait plus accesible ?

J'imagine que quelle qu'un a eu ce problème avec le script de JeffreyWay laravel.js et turbolinks ?

Merci d'avance de votre aide

2 réponses


CodingWeb
Auteur
Réponse acceptée

Salut,

Personne na eu ce problème je cherche depuis hier et j'ai fait le tour
Merci d'avance.

PS: J'ai contourné le problème d'une autre façon qui me convient très bien ! J'ai ajouté une modal de bootstrap ça me renvoie une plus belle boîte alerte, mais je me suis apercu après avoir codé le tout que j'avais le même problème que dans le premier sujet, mes j'ai trouver je vous mes les modification pour le modal et pour contourner le problème de suppresion d'un sujet ou autre.

Votre controller

 public function destroy(Request $request)
    {
        $species = Species::findOrFail($request->id);
        $species->delete();
        return redirect(action('SpeciesController@index'))->with('success', "L'espèce a bien été supprimer");
    }

La vue mettre tout ce code d'un un fichier pour l'inclure

<!-- Button trigger modal -->
<button type="button" class="btn btn-danger btn-sm" data-especesid="{{$especes->id}}" data-toggle="modal" data-target="#species">
     <i class="fas fa-trash-alt"></i> Supprimer
</button>

<!-- Modal -->
<div class="modal fade" id="species" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
     <div class="modal-dialog" role="document">
            <div class="modal-content">
                 <div class="modal-header">
                        <h5 class="modal-title" id="exampleModalLabel">Supprimer cette espèce</h5>
                        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                             <span aria-hidden="true">&times;</span>
                        </button>
                 </div>
                 {!! Form::open(['url' => action('SpeciesController@destroy', $especes->id), 'method' => 'delete']) !!}
                        <div class="modal-body">
                             <p class="text-center">
                                    Voulez vous vraiment supprimer cette enregistrement ?
                             </p>
                             <input type="hidden" name="id" id="id" value="">
                        </div>
                        <div class="modal-footer">
                             <button type="button" class="btn btn-secondary" data-dismiss="modal">Fermer</button>
                             <button type="submit" class="btn btn-danger">Supprimer</button>
                        </div>
                 {!! Form::close() !!}
            </div>
     </div>
</div>

Vous devez crée un champ input de type="hidden" attention de bien remplir les champs name et id qui vont correspondre avec votre controller et le reste de votre application

<input type="hidden" name="id" id="id" value="">

Enfin le Jquery, faite bien attention au différent champ

 jQuery(function ($) {
        $('#species').on('show.bs.modal', function (event) {
            var button = $(event.relatedTarget)
            var id = button.data('especesid')
            // Button that triggered the modal
            var modal = $(this)
            modal.find('.modal-body #id').val(id)
        })
    })

Le especesid est très important il doit corespondre avec le button du modal, comme vous pouvez le voir ci-dessous

<button type="button" class="btn btn-danger btn-sm" data-especesid="{{$especes->id}}" data-toggle="modal" data-target="#species">
     <i class="fas fa-trash-alt"></i> Supprimer
</button>

Et enfin le correctif pour la suppression des sujets quand on manipule du Javascript

$(document).on("turbolinks:load", function(){
       ===== Vous placez votre code a l'intérieur par exemple le Jquery ci-dessus =======
})

A bientôt sur le forum.

Bonjour,

Voici le résultat en images, pour les intéresser et qu'il veuille pratiquer pour évoluer dans diférent langages, par exemple pour le moment je suis en train d'apprendre Javascript, Jquery, et je me perfectionne dans laravel qui est un framework vraiment génial, j'avais longuement hésité avec ruby on rails, et j'ai choisi laravel pour la documentation, le nombre de tuto, et la communauté qu'il y autour.

Peut-être qu'un jour je testerais ruby ont rails, mais j'hésite j'aime autant être perfectionné dans laravel que d'être un peu moyen dans les deux, Je vais voir avec le temps.

<a href="http://zupimages.net/viewer.php?id=18/22/onk3.png"><img src="https://zupimages.net/up/18/22/onk3.png" alt="" /></a>

<a href="http://zupimages.net/viewer.php?id=18/22/0gu3.png"><img src="https://zupimages.net/up/18/22/0gu3.png" alt="" /></a>

Avouer que c'est bien plus joli qu'une boîte d'alert standard de plus ce n'est pas difficile à mettre en place et aucun problème avec turbolinks grace turbolinks:load

A bientôt sur le forum.