gpt4 book ai didi

php - [Route : login] [URI: {locale}/login] when i redirect as a guest 缺少必需的参数

转载 作者:行者123 更新时间:2023-12-05 08:40:20 30 4
gpt4 key购买 nike

每当我以访客身份重定向时,我都会收到错误消息:

Missing required parameters for [Route: login] [URI: {locale}/login].

但是当我登录时它工作正常。这是我的 web.php 和 HomeController

web.php

Route::get('/', function() {
return redirect(app()->getLocale());
});

Route::group(['prefix' => '{locale}', 'where' => ['locale' => '[a-zA-Z]{2}'], 'middleware' => 'setlocale'], function () {

Route::get('/', function () {

return view('welcome');
})->name('main');

Auth::routes();

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

//Customers
Route::get('/customers', 'CustomerController@showcust')->name('customers');
Route::post('/sendcust', 'CustomerController@sendcust')->name('sendcust');


//Items
Route::get('/items', 'ItemController@showitems')->name('items');
Route::post('/senditem', 'ItemController@senditem')->name('senditem');

//Projects
Route::get('/projects', 'ProjectController@showprojects')->name('projects');
Route::post('/sendproj', 'ProjectController@sendproj')->name('sendproj');
//ProjectBillings
Route::get('/projects/{id}/billings', 'ProjectController@showbilling');
Route::post('/projects/{id}', 'ProjectController@addbilling')->name('addbilling');

Route::get('/invoices', 'InvoiceController@showinvoice')->name('invoices');
Route::post('/sendinvoitem', 'InvoiceController@sendinvoitem')->name('sendinvoitem');
Route::get('/invoices/{id}/details', 'InvoiceController@showdetails');
Route::post('/updateitem','InvoiceController@updatedetail')->name('updateitem');
Route::get('invoices/{id}/generate', 'InvoiceController@generate');
Route::post('/updatestatus', 'InvoiceController@changestatus')->name('updatestatus');

});

HomeController.php

public function index()
{
if(Auth::guest()){
return redirect(app()->getLocale());
}

else{
return view('admin.home');
}
}

最佳答案

问题出在您的 App\Http\Middleware\Authenticate 中间件中。

您的登录路由需要一个 locale 参数 - 但是当您以访客身份访问需要身份验证的页面时,将调用 Authenticate 中间件。

默认情况下,Authenticate 中间件包含:

protected function redirectTo($request)
{
if (! $request->expectsJson()) {
return route('login');
}
}

您需要将所需的参数传递给路由:

return route('login', ['locale' => $desiredLocale])

关于php - [Route : login] [URI: {locale}/login] when i redirect as a guest 缺少必需的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56127368/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com