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 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
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> اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
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 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 بلال زيادة نشر 22 مارس 2021 أرسل تقرير مشاركة نشر 22 مارس 2021 يمكنك وضع المتغير هكذا في الوسم التالي <li><a href="{{ route('user.profile', $nickname) }}">Profile</a></li> بحيث $nickname هو المتغير وفي هذه الحالة هو اسم الشخص الذي تود الدخول إلى عضويته. 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 Wael Aljamal نشر 22 مارس 2021 أرسل تقرير مشاركة نشر 22 مارس 2021 حتى يصبح الوسيط parameter اختياري في المسار نضع بعد اسمه إشارة استفهام {?username} 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
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 Alsaeedرابط هذا التعليق
شارك على الشبكات الإجتماعية
4 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.