如何使用资源管理路由?

时间:2018-03-29 06:19:57

标签: controller routes admin laravel-5.5

我是laravel的新手。我正在尝试在路由中使用资源来管理部分。我已经像这样创建了web.php。

Route::get('/' , 'HomeController@index')->name('mainHomePage');


Route::resource('admin','admin\AdminController');
Route::group(['middleware' => 'is.admin'], function () {
    Route::resource('admin.subjects','admin\SubjectsController');
});

我的管理员控制器在App/Http/Controllers/admin目录中。

<?php
namespace App\Http\Controllers\admin;

use Illuminate\Http\Request;

class AdminController extends \App\Http\Controllers\Controller
{
    public function index()
    {
        return view('admin.index');
    }
    public function login($id)
    {
        dd('dlkfjskdjf');
    }
}

当我点击路线http://localhost/quizl/admin时,会返回所需的视图。但是当我尝试http://localhost/quizl/admin/index时,没有任何视图或任何错误被闪现。 Simiarly,我无法击中路线http://localhost/quizl/admin/login。请帮助我。

1 个答案:

答案 0 :(得分:0)

正如ab_ab所建议的那样,我可以通过使用前缀来解决这个问题。

Auth::routes();
Route::get('/' , 'HomeController@index')->name('mainHomePage');

Route::prefix('admin')->group(function () {
    Route::get('login' , 'admin\AdminController@login')->name('admin.login');
    Route::resource('/','admin\AdminController');
    Route::resource('subjects','admin\SubjectsController');
});