سلام من این ارور رو دارم
The PUT method is not supported for this route. Supported methods: POST.
مشکل از کجاست؟
روت:
Route::post('register/store',[UserController::class,'store'])->name('store.register');
کنترلر:
public function store(Request $request)
{
$user = new user([
'name'=>$request->get('name'),
'email'=>$request->get('email'),
'password'=>$request->get('password'),
'gender'=>$request->get('gender'),
'age'=>$request->get('age'),
]);
try {
$user->save();
} catch (\Exception $exception){
dd($request);
//return view('register')->with('warning',$exception->getCode());
}
}
اینم فرم ام:
<form class="mt-5 p-4 text-padding w-75 rounded-3 mx-auto" style="background-color: #deecf4" method="POST" action="{{route('store.register')}}">
@csrf
{{ method_field('PUT') }}
سلام به شما دوست عزیز.
مشکل کار اینجاس که شما اومدی روت رو به صورت post تعریف کردی، داخل کنترلر هم میخوای اطلاعات کاربر رو ذخیره کنی که میشه یک عمل post، تا اینجا درسته، اشتباهت اینه که اومدی داخل فرم بعد از
@csrf
عبارت زیر رو قرار دادی که نیازی بهش نیست، عبارت زیر رو از کدت حذف کن تا مشکلت برطرف بشه:
{{ method_field('PUT') }}
کدتونو بسیار کثیف یا به اصطلاح hard code نوشتین، روی مباحث clean code بیشتر کار کنین.
موفق باشید.
متد تعریف شده برای مسیر URL مورد نظر و فرم ارسالیتون با هم یکسان نیستند.
بعنوان مشخص ترین و ساده ترین راهکار کافیه روت تون رو با متد put بازنویسی کنید:
Route::put('register/store', [UserController::class,'store'])->name('store.register');
سلام به شما دوست عزیز.
مشکل کار اینجاس که شما اومدی روت رو به صورت post تعریف کردی، داخل کنترلر هم میخوای اطلاعات کاربر رو ذخیره کنی که میشه یک عمل post، تا اینجا درسته، اشتباهت اینه که اومدی داخل فرم بعد از
@csrf
عبارت زیر رو قرار دادی که نیازی بهش نیست، عبارت زیر رو از کدت حذف کن تا مشکلت برطرف بشه:
{{ method_field('PUT') }}
کدتونو بسیار کثیف یا به اصطلاح hard code نوشتین، روی مباحث clean code بیشتر کار کنین.
موفق باشید.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟