【发布时间】:2017-10-07 15:12:27
【问题描述】:
已解决
web.php 路由:
Route::post('/admin/users/action', [
'uses' => 'UserController@massAction',
'as' => 'user.massAction'
]);
表格:
<form id="users-form" role="form" method="POST" action="{{ url('/admin/users/action') }}">
{{ csrf_field() }}
...
</form>
未达到的 UserController massAction 方法:
public function massAction(Request $request)
{
$userIds = $request->input('users');
$user = new User();
switch ($request->input('mass-action')) {
case 1:
$user->deleteUser($userIds);
$request->session()->flash('message-success', 'User(s) deleted!');
break;
}
return redirect()->back();
}
在表单提交时,它应该返回一条消息,但它甚至没有到达控制器。在方法内设置断点确认它没有到达它。
它只是转到 /admin/users/action 并返回 404 错误,因为此页面不存在。它应该转到 UserController 中的 massAction 方法并被重定向回提交表单的页面。
我正在为产品、属性等做同样的事情,而且效果很好。只有这种路线和方法不起作用。同一个 UserController 中的其他路由工作。
【问题讨论】:
-
如果您有任何路由组,您可能需要
php artisan route:cache -
我没有任何群组
标签: laravel controller routes laravel-5.3