【发布时间】:2016-07-30 20:53:11
【问题描述】:
我有一个表格,我正在尝试更新表格。在表单中,'name'是一个唯一字段(在请求页面和表格中添加了唯一条件,名称设置为唯一)。当我尝试更新表单时(我提供了值,表中已经存在),它显示“RouteCollection.php 第 219 行中的 MethodNotAllowedHttpException”错误。
如果我使用表中不存在的名称更新“名称”,它将正常工作。
路由器
Route::group(['middleware' => ['superadmin']], function () {
Route::post('/sadmin/update_club',array('uses' => 'SAdmin\ClubController@updateClub', 'as' => 'updateClub'));
}
请求
class UpdateClubRequest extends Request
{
public function authorize()
{
return true;
}
public function rules()
{
return [
'name' => 'required|max:150|unique:clubs,name,'.Request::input('id'),
'logo' => 'image|mimes:jpeg,png,bmp,gif,svg|max:10000',
];
}
}
布局页面
{{ Form::open(array('route' => 'updateClub', 'method' => 'POST', 'class' => 'form-horizontal', 'files'=>true)) }}
{{ Form::hidden('id', $club[0]['id']) }}
{{ Form::text('name', $club[0]['name'], array('class' => 'form-control', 'maxlength' => 50)) }}
{{ Form::close() }}
【问题讨论】:
-
我觉得
MethodNotAllowedHttpException通常与posting与get路由相关,反之亦然,这也是错误消息显示的内容。您是否有一个get路由定义到您的post路由上方的同一位置? -
@camelCase 。是的,我有很多获取路线... Route::get('/sadmin/clubs', 'SAdmin\ClubController@Clubs'); Route::get('/sadmin/add_club', 'SAdmin\ClubController@addClub');
-
但是
'/sadmin/update_club'有吗?
标签: laravel laravel-5.2 laravel-routing laravel-middleware