我在Laravel5中有这条路线:
Route::get('edit_user/{userId}', [
'as' => 'editUser',
'uses' => 'Auth\UserController@editUser'
]);
但是当我尝试访问网址.../edit_user/19
时,它将无法匹配并将我重定向到/home
网址...
无论如何,当我使用它时:
Route::get('edit_user/{userId}', [
'as' => 'editUser',
function($userId) {
die($userId);
}
]);
返回19
。
这也是我的功能:
public function editUser($userId) {
die($userId);
}
这也是我的控制器的一部分:
<?php namespace App\Http\Controllers\Auth;
use App\Models\User;
use Auth;
use Hash;
use Mail;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Session;
class UserController extends Controller {
/**
*
* @return void
*/
public function __construct()
{
$this->middleware('guest', ['except' => 'logout']);
}
/**
*
* show edit user form
*
* @param $id
*/
public function editUser($userId) {
die($userId);
}
你知道吗,哪里可能有问题?
非常感谢你的意见。
修改
我找到解决方案 - &gt;需要在__construct中编辑auth的异常。
答案 0 :(得分:1)
这应该与提供的代码一起使用。
检查以下项目:
<强> 1。您是否在UsersController的__construct
中有此代码?
public function __construct()
{
$this->middleware('auth');
}
如果是这样,您需要滞后来编辑用户。
<强> 2。在edit_user/{userId}
之前是否列出了覆盖此路线的路线。
尝试将其移动为第一条路线。
第3。你的UserController是否正确命名空间?
<?php
namespace App\Http\Controllers\Auth;