【发布时间】:2015-06-16 20:59:32
【问题描述】:
拜托,你能帮帮我吗?
我在 Laravel5 中有这条路线:
Route::get('edit_user/{userId}', [
'as' => 'editUser',
'uses' => 'Auth\UserController@editUser'
]);
但是当我尝试进入 url .../edit_user/19 它不会匹配并将我重定向到 /home url...
无论如何,当我使用这个时:
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);
}
您知道任何想法,可能是哪里有问题吗?
非常感谢您的意见。
编辑:
我找到了解决方案 -> 需要在 __construct 中编辑身份验证异常。
【问题讨论】:
-
附带说明:考虑使用 RESTful 路由。所以应该是
/users/{userId}/edit。遵循这些约定将使您的开发体验更加轻松。 -
谢谢。无论如何->如果我更改了此网址,它仍然不起作用:/
-
哦,我只是建议将其作为旁注。我认为 whoacowboy 怀疑中间件干扰是正确的。
标签: laravel routing laravel-5 laravel-routing