راکت
حل شده

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

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="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 اضافی داره که باعث می شه استایل ها لود نشن.
ممنون می شم راهنماییم کنید یا اگر مطلبی هست که با مطالعه مشکلم حل بشه معرفی کنید.
سعی کردم گوگل کنم اما به نتیجه خاصی نرسیدم

ثبت پرسش جدید

پاسخ‌ها

5
سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

بهترین پاسخ

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

php artisan make:controller PersonController -r

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

<link rel="stylesheet" href="https://roocket.ir/css/moderator.style.min.css">
رافق مجتهدزاده
رافق مجتهدزاده
@rafig

تخصص: برنامه نویسی php

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

رافق مجتهدزاده
رافق مجتهدزاده
@rafig

تخصص: برنامه نویسی php

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

شاید پاسخ شما همین‌جا باشد

رافق مجتهدزاده
رافق مجتهدزاده
@rafig

تخصص: برنامه نویسی php

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

رافق مجتهدزاده
رافق مجتهدزاده
@rafig

تخصص: برنامه نویسی php

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

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

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