رافق مجتهدزاده
2 سال پیش توسط رافق مجتهدزاده مطرح شد
5 پاسخ

مشکل در آدرس دهی صفحه مستر

سلام
من با 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="css/moderator.style.min.css">

حالا صفحه http://127.0.0.1:8000/moderator/teacher به درستی کار می کنه اما صفحه http://127.0.0.1:8000/moderator/teacher/create تو آدرس css ها یه دونه teacher اضافی داره که باعث می شه استایل ها لود نشن.
ممنون می شم راهنماییم کنید یا اگر مطلبی هست که با مطالعه مشکلم حل بشه معرفی کنید.
سعی کردم گوگل کنم اما به نتیجه خاصی نرسیدم


ثبت پرسش جدید
سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 2 سال پیش آپدیت شد
1

برای سوال اولیت میتونی از فلگ r- توی ایجاد کنترلر بزنی

php artisan make:controller PersonController -r

و جواب دومی استایل دهی

<link rel="stylesheet" href="/css/moderator.style.min.css">

رافق مجتهدزاده
تخصص : برنامه نویسی php
@rafig 2 سال پیش مطرح شد
0

ضمنا این صفحه http://127.0.0.1:8000/moderator/teacher و این صفحه http://127.0.0.1:8000/moderator/teacher/ هم متفاوت هستند. اولی درست کار می کنه و دومی استایل ها رو لود نمی کنه!
تو انتهای لینک دومی که گذاشتم یه دونه "/" داره


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 2 سال پیش آپدیت شد
1

برای سوال اولیت میتونی از فلگ r- توی ایجاد کنترلر بزنی

php artisan make:controller PersonController -r

و جواب دومی استایل دهی

<link rel="stylesheet" href="/css/moderator.style.min.css">

رافق مجتهدزاده
تخصص : برنامه نویسی php
@rafig 2 سال پیش مطرح شد
0

ممنون. مورد دوم رو حل کردم. متشکرم
مورد اول چون کنترلر رو ایجاد کردم الان دیگه نمی شه کاری کردم؟ البته می تونم کنترلر رو حذف کنم و از نو ایجاد کنم. ولی اگر بدون اون هم راهی باشه یاد می گیرم


رافق مجتهدزاده
تخصص : برنامه نویسی php
@rafig 2 سال پیش مطرح شد
0

الان -r رو بررسی کردم که همون --resource می شه. من هم با همین ایجادش کرده بودم. ولی نمی دونم چطوری باید توی بلید مثلا به متد create اون آدرس دهی کنم. نمی خوام دستی آدرس رو مثلا اینطوری بنویسم: /moderator/teacher/create چون کلا تو آدرس دهی مشکل دارم و جاهای دیگه قاطی می شه


رافق مجتهدزاده
تخصص : برنامه نویسی php
@rafig 2 سال پیش مطرح شد
0

من با دستور route:list روت ها رو بررسی کردم و متوجه شدم که نیازی به نامگذاری روت ها نیست. همونطور که شما گفتید وقتی با -r کنترلر ایجاد می شه روت ها خودشون نام های از قبل تعیین شده ای دارند که نیاز نیست من دوباره به هر متد نام بدم.
پس به جای اینکه روت رو نامگداری کنم می تونم از نام teacher.create استفاده کنم.
ممنون


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

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