Ich habe eine Liste von Einträgen, die aus einer Datenbank kommen. Ich möchte am Ende jeder Zeile einen "Delete-Button" haben, damit der Benutzer nicht erst auf die Edit / Show-Seite gehen muss, um den Eintrag zu löschen.
Ich habe versucht, ein verstecktes Eingabefeld mit dem csrf-Token wie folgt zu erstellen:
%Vor%Dies wird ausgegeben:
%Vor%Der Rest des Formulars habe ich in der Zweigvorlage eingefügt, so dass jedes Formular seinen eigenen Aktionspfad entsprechend der ID des Eintrags hat.
leider in der Zweigvorlage nur die erste
%Vor%wird gerendert.
Wie kann ich dieses versteckte Feld öfter benutzen? ODER gibt es irgendeine Möglichkeit, das Ganze anders zu machen?
Danke für jede Hilfe
%Vor%Sie können einzelne Token mit:
rendern %Vor%oder speziell für Ihren Fall:
%Vor%Aber ich denke, Sie sind besser darin, eine Reihe von Formen zu erstellen und jedes davon vollständig zu rendern:
In Ihrem Controller:
%Vor%Mach in deinem Zweig etwas nach dem Motto:
%Vor%Die Antwort von @Lighthart führte mich zur richtigen Antwort:
Erzeuge in deinem Controller ein Array von Formularansichten und überzeuge es in der Ansicht:
%Vor%Jetzt müssen Sie in Ihrer Ansicht darauf zugreifen. Daher können Sie die Formularfunktionen und die speziellen Loop-Variablen verwenden:
%Vor%Das ist es.
Ich sah mich einer ähnlichen Situation gegenüber, in der ich ein Produkt löschen wollte, während ich csrf-Schutz verwendete. Ich wollte auch ajax verwenden, um die DELETE-Anfrage zu stellen.
Um dies zu tun, sah meine Sicht , index.html folgendermaßen aus:
%Vor% Wie oben zu sehen ist, gibt {{ csrf_token('form') }}
Ihnen das csrf-Token innerhalb des Zweigs.
Mein Controller :
%Vor%Und dies sollte die erforderliche Zeile wie erwartet löschen!