Php 拉维更新路线
Laravel新手,我想在Laravel中创建一个更新路由,不需要资源控制器。 我有编辑的路线Php 拉维更新路线,php,laravel,laravel-5,laravel-5.3,Php,Laravel,Laravel 5,Laravel 5.3,Laravel新手,我想在Laravel中创建一个更新路由,不需要资源控制器。 我有编辑的路线 Route::get('/indexedit','PagesController@indexedit')->middleware('user'); 在这里,有一个表格,上面写着 <form class="col s12" method="POST" action="indexedit/{{ $val->id }}" > {{ method_field('PUT') }} {{
Route::get('/indexedit','PagesController@indexedit')->middleware('user');
在这里,有一个表格,上面写着
<form class="col s12" method="POST" action="indexedit/{{ $val->id }}" >
{{ method_field('PUT') }}
{{ csrf_field() }}
但当我提交时,它说找不到路线。RouteCollection.php第161行中的NotFoundHttpException:首先,在路由()中不需要$sign: 其次,我将在url()方法中包装动作url,以防万一:
<form class="col s12" method="POST" action="{{ url('indexedit/ ' . $val->id }}" >
您应该使用
put
from update rote,而不是post
这不好:
Route::post('indexedit/{id}', 'PagesController@update');
使用以下命令:
Route::put('indexedit/{id}', 'PagesController@update');
路由::any('/indexedit/{id}','PagesController@update'); 试试看..刚刚试过,返回相同的结果。错误是路由中的$符号,但我也会使用url()方法。是的,我知道,但我认为用这个方法包装所有url是一个好做法:)为什么要使用put not post进行更新?我正在学习拉威尔,不确定其推理。
Route::post('indexedit/{id}', 'PagesController@update');
Route::put('indexedit/{id}', 'PagesController@update');