Lavel Newbie tutaj, chcę utworzyć trasę aktualizacji w Lavel, bez sterownika zasobów. Mam trasę do edycji

Route::get('/indexedit','PagesController@indexedit')->middleware('user');

I tam, istnieje formularz z następującymi

<form class="col s12" method="POST" action="indexedit/{{ $val->id }}" >
{{ method_field('PUT') }}
{{ csrf_field() }}

Istnieją dwa pola wejściowe i przycisk do przesyłania. Stworzyłem trasę do aktualizacji, która jest

Route::post('indexedit/{$id}', 'PagesController@update');

Ale kiedy przesłam, mówi, że nie znaleziono trasy. Notfoundhttpexception w linii routeCollection.php 161:

1
Vedran Korponajić 16 luty 2017, 12:47

2 odpowiedzi

Najlepsza odpowiedź

Przede wszystkim nie potrzebujesz $ Zaloguj się na swojej trasie (Dokumentacja) :

Route::post('indexedit/{id}', 'PagesController@update');

Po drugie, zawijałbym adres URL działania w metodzie URL () na wszelki wypadek:

<form class="col s12" method="POST" action="{{ url('indexedit/ ' . $val->id }}" >
3
Filip Sobol 16 luty 2017, 10:00

Powinieneś użyć put z aktualizacji rote, a nie {x1}}.

To nie jest OK:

Route::post('indexedit/{id}', 'PagesController@update');

Użyj tego:

Route::put('indexedit/{id}', 'PagesController@update');
0
atymic 30 lipiec 2019, 08:45