将本地化添加到我的laravel项目后出现错误。 这是我的web.php
//Tender
Route::group(['prefix' => '{language}/tender', 'middleware' => ['permission:tender-page']], function() {
Route::get('/', 'TenderController@index')->name('tender');
Route::get('/add', 'TenderController@add')->name('tender_add');
Route::get('/{id}', 'TenderController@detail')->name('tender_detail');
});
这是我的错误
ErrorException thrown with message:
"Missing required parameters for [Route: tender_detail] [URI: {language}/tender/{id}].
(View: /Users/admin/Desktop/dev/medicare/resources/views/layouts/template.blade.php)
(View: /Users/admin/Desktop/dev/medicare/resources/views/layouts/template.blade.php)"
这是我template.blade.php的一部分
<li class="{{ Request::is('tender*') ? 'active' : '' }}">
<a href="{{ route('tender', ['language' => app()->getLocale()]) }}">
<i class="notika-icon notika-house"></i> {{ __('tender') }} </a>
</li>
这是前往“投标详情”页面的路线
<a href="{{ route('tender_detail', ['language' => app()->getLocale(), 'id' => 1])}}">ЛОТ 123456-ОК3</a>
答案 0 :(得分:1)
问题出在我的语言转换器链接中。
`
<li class="nav-item">
<a href="{{ route(Route::currentRouteName(), 'ru') }}" class="nav-link">RU</a>
</li>
<li class="nav-item">
<a href="{{ route(Route::currentRouteName(), 'tr') }}" class="nav-link">TR</a>
</li>
`
当我删除此链接时,路线开始工作
答案 1 :(得分:0)
尝试从
更改<a href="{{ route('tender', ['language' => app()->getLocale()]) }}">
类似
<a href="{{ route('tender', ['language' => app()->getLocale(), 'id' => 'your-tender-id']) }}">
通过路由方法提供您的tender-id
答案 2 :(得分:0)
此修改将更改您的网址,但我认为它将起作用 编辑
Route::group(['prefix' => '{language}/tender', 'middleware' => ['permission:tender-page']], function() {
Route::get('/', 'TenderController@index')->name('tender');
Route::get('/add', 'TenderController@add')->name('tender_add');
Route::get('/{id}', 'TenderController@detail')->name('tender_detail');
});
对此
Route::group(['prefix' => 'tender', 'middleware' => ['permission:tender-page']], function() {
Route::get('/{language}/', 'TenderController@index')->name('tender');
Route::get('/{language}/add', 'TenderController@add')->name('tender_add');
Route::get('/{language}/{id}', 'TenderController@detail')->name('tender_detail');
});
然后尝试这样的事情
<a href="{{ route('tender_detail', ['language' => app()->getLocale(), 'id' => 1])}}">ЛОТ 123456-ОК3</a>