Amir Alsaeed نشر 22 مارس 2021 أرسل تقرير نشر 22 مارس 2021 (معدل) لدي الكود التالي الخاص بالتنقّل بين صفحات المشروع: @if(Auth::guest()) <li><a href="{{ url('/login') }}">Log In</a></li> <li><a href="{{ url('/register') }}">Sign Up</a></li> @else <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">{{ Auth::user()->username }}</a> <ul class="dropdown-menu"> <li><a href="{{ route('user.profile') }}">Profile</a></li> <li><a href="{{ url('/logout') }}">Log Out</a></li> </ul> </li> @endif ولكن عند الضغط على زر profile يظهر لي الخطأ التالي: Missing required parameters for [Route: user.profile] [URI: user/{username}/profile]. فيبدو أنه لدي مشكلة في {{ route('user.profile') }} وهذا هو الكود الخاص في مسارات التوجيه: Route::group(['middleware' => 'web'], function () { Route::auth(); Route::get('/', ['as' => 'home', 'uses' => 'MainController@index']); Route::group(['namespace' => 'User', 'prefix' => 'user'], function(){ Route::get('{username}/profile', ['as' => 'user.profile', 'uses' => 'ProfileController@index']); }); }); كيف أستطيع حل هذا الخطأ؟ تم التعديل في 22 مارس 2021 بواسطة Amir Alsaeed اقتباس
0 Waleed Alfakiat نشر 22 مارس 2021 أرسل تقرير نشر 22 مارس 2021 التوجيه باسم "user.profile" ينقصه قيمة {username} قم بتمرير القيمة عند استدعاء التوجيه في ملف view ... <li><a href="{{ route('user.profile') }}">Profile</a></li> ... ليصبح بهذا الشكل <li><a href="{{ route('user.profile', [ 'username' => Auth::user()->nickname ] ) }}">Profile</a></li> اقتباس
0 Sam Ahw نشر 22 مارس 2021 أرسل تقرير نشر 22 مارس 2021 يجب أن تقوم بتمرير المتغيّر أثناء الإشارة إلى المسار بالشكل التالي: <li><a href="{{ route('user.profile', $username) }}">Profile</a></li> والسبب في ذلك هو أنك قمت أثناء تعريف المسار بإضافة متغيّر ضمن الرابط: Route::get('{username}/settings') ولكن عندما يتم الضغط على زر الحساب الشخصي أو غيره لا يتم تمرير قيمة هذا المتغيّر مع الرابط ولذلك يمكن أن يظهر لك الخطأ أو من الممكن ألا يتم التعرّف على المسار في حالات أخرى. وفي حال كنت تريد في حالتك تمرير اسم المستخدم الذي قام بتسجيل الدخول إلى مسار التوجيه ليتم بعدها معالجته في المتحكّم الخاص، يمكنك تنفيذ ذلك كالتالي: <li><a href="{{ route('user.profile', auth()->user()->username) }}">Profile</a></li> 1 اقتباس
0 بلال زيادة نشر 22 مارس 2021 أرسل تقرير نشر 22 مارس 2021 يمكنك وضع المتغير هكذا في الوسم التالي <li><a href="{{ route('user.profile', $nickname) }}">Profile</a></li> بحيث $nickname هو المتغير وفي هذه الحالة هو اسم الشخص الذي تود الدخول إلى عضويته. 1 اقتباس
0 Wael Aljamal نشر 22 مارس 2021 أرسل تقرير نشر 22 مارس 2021 حتى يصبح الوسيط parameter اختياري في المسار نضع بعد اسمه إشارة استفهام {?username} 1 اقتباس
السؤال
Amir Alsaeed
لدي الكود التالي الخاص بالتنقّل بين صفحات المشروع:
ولكن عند الضغط على زر profile يظهر لي الخطأ التالي:
Missing required parameters for [Route: user.profile] [URI: user/{username}/profile].
فيبدو أنه لدي مشكلة في {{ route('user.profile') }}
وهذا هو الكود الخاص في مسارات التوجيه:
Route::group(['middleware' => 'web'], function () { Route::auth(); Route::get('/', ['as' => 'home', 'uses' => 'MainController@index']); Route::group(['namespace' => 'User', 'prefix' => 'user'], function(){ Route::get('{username}/profile', ['as' => 'user.profile', 'uses' => 'ProfileController@index']); }); });
كيف أستطيع حل هذا الخطأ؟
تم التعديل في بواسطة Amir Alsaeed4 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.