محمد
3 سال پیش توسط محمد مطرح شد
2 پاسخ

مشکل در روت های لاراول

سلام
من یه مشکلی برای روت هام پیش اومده که تمام روت ها کار میکنه ولی روت اخر createuser رو not found میاره

Route::middleware('admin')->prefix('A')->group(function (){
    Route::get('' , \App\Http\Livewire\Admin\Index::class);
    Route::get('users'  , \App\Http\Livewire\Admin\Users::class)->name('A.users');
    Route::get('{user}' , \App\Http\Livewire\Admin\SingleUser::class)->name('admin.edit.user');

    Route::get('createuser' , \App\Http\Livewire\Admin\CreateUser::class)->name('A.create.user');
});

از لحاظ میدلور و کامپوننت مشکلی نیست حتی به کنترلر هم وصل کردم ولی بازم notfound اورد
خیلی سرچ کردم گفتن اگه تو پوشه public فولدری به نام admin دارید تغییر نام بدید , که پوشه ای به نام admin-assets داشتم اونم تغییر نام دادم مشکلم حل نشد
php artisan route:clear این دستورم زدم درست نشد
ولی وقتی جابه جا میکنم درست شد روت کار کرد یعنی به این صورت

Route::middleware('admin')->prefix('A')->group(function (){
    Route::get('' , \App\Http\Livewire\Admin\Index::class);
    Route::get('users'  , \App\Http\Livewire\Admin\Users::class)->name('A.users');

    Route::get('createuser' , \App\Http\Livewire\Admin\CreateUser::class)->name('A.create.user');
    Route::get('{user}' , \App\Http\Livewire\Admin\SingleUser::class)->name('admin.edit.user');

});

یعنی روتی که از route model binding استفاده میکرد رو اخر گذاشتم
کسی میدونه دلیل این چیه چرا باید اخر بیاریم روتی که به این صورته؟
@hesammousavi @ali.bayat @Rp76 @mohaligateway


ثبت پرسش جدید
mkt
@mkt 3 سال پیش مطرح شد
1

وقت بخیر

تشخیصتون درسته اون روتی که باهاش مشکل داری را با روت زیر

    Route::get('{user}' , \App\Http\Livewire\Admin\SingleUser::class)->name('admin.edit.user');

اشتباه میگیره چون سیستم فکر میکنه روت createuser حالتی از روت بالاست چون شما روت {user} را به صورت متغییر تعریف کردید و میتونه هر مقدار را قبول کنه .


محمد
تخصص : Laravel
@mprogrammer7 3 سال پیش مطرح شد
1

بله اصلا به این نکته دقت نکرده بودم 🙈🙈
دمتون گرم
@mkt


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام