亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

管理員/儀表板定義路由未運行

管理員/儀表板定義路由未運行

PHP
慕少森 2021-11-13 14:53:59
兩年后開始編程,從 zendframework2 切換到 laravel。我正在關注在早期版本的 Laravel 中制作的 youtube 教程。我在 web.php 中定義了一個簡單的路由這給了我一個管理/儀表板的工作網址我一直在這個項目中使用它,直到我在我的 slider.blade.php 中使用它路由管理/儀表板適用于 Request::is 但不適用于 href 路由。我收到未定義管理/儀表板的錯誤。但它在 web.php 和 php artisan route:list 中定義為 admin/dashboard。我還嘗試在 web.php 中的 Route::group 之外定義 admin/dashboard 并使用 admin.dashboard 但我無法擺脫這個。有可能網址:<li class="{{ Request::is('admin/dashboard*')? 'active':''}} ">    <a class="nav-link" href="{{route('admin/dashboard')}}"> <i class="material-icons">dashboard</i> <p>Dashboard</p> </a> </li>路線:Route::group(['middleware' => 'auth'], function () {     Route::get('dashboard', ['as' => 'dashboard', 'uses' => 'Admin\DashboardController@index'])->name('admin.dashboard'); });網頁.php :    <?php    /*    |--------------------------------------------------------------------------    | Web Routes    |--------------------------------------------------------------------------    |    | Here is where you can register web routes for your application. These    | routes are loaded by the RouteServiceProvider within a group which    | contains the "web" middleware group. Now create something great!    |    */    Route::get('/', function () {        return view('welcome');    });    Auth::routes();    //beneath is the route that can work both for auth and non auth for admin/    Route::group(['prefix' => 'admin', 'as' => 'admin.'], function () {        Route::group(['middleware' => 'auth'], function () {            Route::get('dashboard', ['as' => 'dashboard', 'uses' => 'Admin\DashboardController@index'])->name('admin.dashboard');            Route::resource('slider', 'Admin\SliderController');        });    });
查看完整描述

3 回答

?
慕的地8271018

TA貢獻1796條經驗 獲得超4個贊

使用


<a class="nav-link" href="/admin/dashboard"> 

只能解決您的路由問題,但不能解決它。


如果你按照上面的鏈接,它可以讓你獲得正確的視圖,而 Laravel 不會拋出任何錯誤,那么你離解決路線問題又近了一步。這意味著存在具有該前端名稱的路由。但是,根據我下面的解釋,您會發現服務器端名稱是admin.dashboardadmin.dashboard。


所以,讓我們開始解決問題。


該as鍵不替代路線的名字,它結合了他們。因此,只使用其中一種方法 -內部路由定義中的as鍵或->name()方法。


我正在 Laravel 5.8 上用我自己的機器對此進行測試,并且可以確認您可以在代碼中同時使用兩者。但是,您的代碼中路由的名稱是 - admin.dashboardadmin.dashboard - 令人驚訝。


以下任一路由定義都可以解決問題:


//beneath is the route that can work both for auth and non auth for admin/

Route::group(['prefix' => 'admin', 'as' => 'admin.'], function () {


    Route::group(['middleware' => 'auth'], function () {


        Route::get('dashboard', ['as' => 'dashboard', 'uses' => 'Admin\DashboardController@index']);


        Route::resource('slider', 'Admin\SliderController');

    });


});

或者


//beneath is the route that can work both for auth and non auth for admin/

Route::group(['prefix' => 'admin', 'as' => 'admin.'], function () {


    Route::group(['middleware' => 'auth'], function () {


        Route::get('dashboard', ['uses' => 'Admin\DashboardController@index'])->name('dashboard');


        Route::resource('slider', 'Admin\SliderController');

    });


});

無論哪種方式,生成的前端鏈接都應該是


admin/dashboard

而訪問鏈接的服務器端路由是


route('admin.dashboard')

html 應該是:


<li class="{{ Request::is('admin/dashboard*')? 'active':''}} ">

    <a class="nav-link" href="{{route('admin.dashboard')}}">

        <i class="material-icons">dashboard</i> 

        <p>Dashboard</p> 

    </a> 

</li>

注意:不要通過將生成的路由鏈接直接放入瀏覽器地址欄來測試它們。將它們放在一個鏈接中href,瀏覽器將絕對或相對地解析它們 - 取決于鏈接類型。


查看完整回答
反對 回復 2021-11-13
?
白衣染霜花

TA貢獻1796條經驗 獲得超10個贊

你必須在 Laravel 中的內部鏈接的“href”中的路由之前添加一個“/”?;旧夏悴恍枰凇癶ref”中調用“route”方法,因為 Laravel 會自動確定它是哪條路由。嘗試這個:

<a class="nav-link" href="/admin/dashboard">


查看完整回答
反對 回復 2021-11-13
?
慕工程0101907

TA貢獻1887條經驗 獲得超5個贊

路由助手接受路由的名稱,試試這個:

href="{{ route('admin.dashboard') }}

https://laravel.com/docs/5.8/helpers#method-route


查看完整回答
反對 回復 2021-11-13
  • 3 回答
  • 0 關注
  • 179 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號