سلام
من با resource یک روت نوشتم به این شکل:
Route::resource('moderator/teacher',\App\Http\Controllers\TeacherController::class)->names(['create'=>'addTeacher']);
یک سوال اینکه راهی نیست که بتونم سریعتر به هر متد یه نامی اختصاص بدم؟ چون می خوام از نامها توی فراخوانی روت ها تو صفحات بلید استفاده کنم. مثلا برای ایجاد دبیر جدید مجبور شدم متد create رو نامگذاری کنم که بتونم توی ویو با کد {{route('addTeacher')}} بهش لینک بدم. الان اگر بخوام delete و ... رو هم لینک بدم باید 6 تا نامگذاری انجام بدم. اگر راه سریعتری هست لطفا راهنمایی کنید.
ولی مشکل اصلی اینکه الان من دو تا ویو دارم که تو کنترلرم می تونید ببینید. کد زیر مربوط به فایل کنترلر هست که برای index,create نوشته شده:
public function index()
{
return view('moderator.teacherList');
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view('moderator.createTeacher');
}
اما مشکل اینه که من از مستر استفاده کردم و اینطوری توی فایل مستر فایلهای css و ... رو فراخوانی کردم:
<link rel="stylesheet" href="https://roocket.ir/css/moderator.style.min.css">
حالا صفحه http://127.0.0.1:8000/moderator/teacher به درستی کار می کنه اما صفحه http://127.0.0.1:8000/moderator/teacher/create تو آدرس css ها یه دونه teacher اضافی داره که باعث می شه استایل ها لود نشن.
ممنون می شم راهنماییم کنید یا اگر مطلبی هست که با مطالعه مشکلم حل بشه معرفی کنید.
سعی کردم گوگل کنم اما به نتیجه خاصی نرسیدم
ضمنا این صفحه http://127.0.0.1:8000/moderator/teacher و این صفحه http://127.0.0.1:8000/moderator/teacher/ هم متفاوت هستند. اولی درست کار می کنه و دومی استایل ها رو لود نمی کنه!
تو انتهای لینک دومی که گذاشتم یه دونه "/" داره
شاید پاسخ شما همینجا باشد
من با دستور route:list روت ها رو بررسی کردم و متوجه شدم که نیازی به نامگذاری روت ها نیست. همونطور که شما گفتید وقتی با -r کنترلر ایجاد می شه روت ها خودشون نام های از قبل تعیین شده ای دارند که نیاز نیست من دوباره به هر متد نام بدم.
پس به جای اینکه روت رو نامگداری کنم می تونم از نام teacher.create استفاده کنم.
ممنون