Bonjour,

Voila je rencontre un petit problème avec mon code.

Voici le code dans ma vue:

<a href="{{ route('slider'.$slider->id.'edit')}}" class="btn btn-primary"><i class="ion-edit"></i></a>

voici le code de route

Route::get('slider/{id}/edit', ['as' => 'slider.edit','uses' => 'SliderController@edit']);

voici l'erreur que je trouve

Route [slider2edit] not defined. (View: C:\xampp\htdocs\mandarine\resources\views\admin\slider\slider.blade.php)

6 réponses


Arbiter0x
Réponse acceptée

La route s'appelle 'slider.edit', le paramètre est l'id:

<a href="{{ route('slider.edit', ['id'=>$slider->id]): }}"></a>

si c'est possible Arbiter0x la route pour la fonction delete merci :)

Salut Youssef,

Visiblement tu ne sais pas utiliser les bases de Laravel. Renseigne-toi sur la documentation officielle et tu trouveras rapidement tes réponses.

sii m'ai jai besoin d'un pop up (sweetalert) dont je dois confirmer l'action de suppression (je connais deja la methode classique celle avec le formulaire)

Bonjour,

Regarde le tuto REST du Grafikart.

tu trouveras ça :

<script>
    (function($){
        $('[data-method]').append(function(){
            return '<form action="'+ $(this).attr("href") +'" method="POST" style="display:none;">' +
                        '<input type="hidden" name="_method" value="'+ $(this).attr("data-method") + '">' +
                        '{{ csrf_field() }}' +
                    '</form>';
        }).removeAttr("href").attr("style", "cursor:pointer").click(function(e) {
            e.preventDefault();
            if(confirm('Voulez-vous continuer votre action de suppression ?')) {
                $("form", $(this)).submit();
            }
        });
    })(jQuery);
</script>

En modifiant ta balise "a", en ajoutant "data-method='delete'"

la vue

<script>
    (function($){
        $('[data-method]').append(function(){
            return '<form action="'+ $(this).attr("href") +'" method="POST" style="display:none;">' +
                        '<input type="hidden" name="_method" value="'+ $(this).attr("data-method") + '">' +
                        '{{ csrf_field() }}' +
                    '</form>';
        }).removeAttr("href").attr("style", "cursor:pointer").click(function(e) {
            e.preventDefault();
            if(confirm('Voulez-vous continuer votre action de suppression ?')) {
                $("form", $(this)).submit();
            }
        });
    })(jQuery);
</script>

<a data-method="delete" href="{{route('service.destroy',$service->id)}} " class="btn btn-danger"  ><i  type="submit"  class="ion-trash-a"></i></a>

fichier route

Route::post('service/delete',['as'=>'service.delete','uses'=>'ServiceController@delete']);

mon controlleur

public function destroy($id)
    {
        $service=Service::find($id);
        $service->delete();
        return redirect('administrator/service');
    }
Rien ne se passe coté message de confirmation de suppression en plus il med donne cette erreur MethodNotAllowedHttpException