Laravel路线[血液营地]未定义异常

smdnsysy  于 2022-11-18  发布在  其他
关注(0)|答案(2)|浏览(176)

即使已定义路径,我仍收到此错误
Route [blood-camp] not defined. (View: C:\wamp64\www\blood-donation\resources\views\layouts\app.blade.php)
web.php文件

`Route::get('/', [App\Http\Controllers\HomeController::class, 'index'])->name('home.root');

Auth::routes();

Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home');

Route::get('/user', [App\Http\Controllers\UserController::class, 'index'])->name('user');


Route::resource('blood-camp', BloodCampController::class);

Route::resource('donor', DonorController::class);

Route::resource('camp-schedule', CampScheduleController::class);`

app.blade.php

<li class="nav-item dropdown">
 <a class="nav-link" href="{{ route('blood-camp') }}" role="button" >
                                {{ __('Camps') }}
</a>
</li>

控制器类

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;

class BloodCampController extends Controller
{
  public function __construct()
    {
        $this->middleware('auth');
    }

public function index()
    {        
        return view('blood_camp.index', ['camps' =>        DB::table('blood_camps')->orderBy('name', 'ASC')->paginate(10)]);
    }

//all the other resources are there...

}

路由:列表
没有重复的路由

我已经尝试了所有建议的方法,包括改变路径名,缓存清除,私人窗口,重新启动服务器,但我仍然得到这个错误,没有办法去进一步的发展。
第一次发生是在我添加新的路线camp的时候,我把名字改成了blood-camp,但是运气不好,现在它又抛出了其他路线的异常。有人能解释一下我做错了什么吗?

n6lpvg4x

n6lpvg4x1#

正如route:list显示的结果,您没有别名为blood-camp的路由。
您的别名是blood-camp.indexblood-camp.store....
要生成资源列表的链接,请用途:
按路径/url

{{ url('blood-camp') }}

或者用别名

{{ route('blood-camp.index') }}
eqzww0vc

eqzww0vc2#

我已经解决了
问题是Route::resource()为资源生成命名路径,例如'blood-camp.index,blood-camp.store'
于是我明确地补充说,命名路线如下;

Route::resource('blood-camp', BloodCampController::class,[
    'names' => [
        'index' => 'blood-camp',        
    ]
]);

并运行优化器,现在它正在使用路由(“blood-camp”)

相关问题