Ошибка Laravel: Маршрут [магазин] не определен…в чем моя ошибка?

#laravel #routes #controller

Вопрос:

Я пытаюсь сохранить данные в БД mysql с помощью Laravel, но у меня эта ошибка:

МАРШРУТ [МАГАЗИН] НЕ ОПРЕДЕЛЕН.

Это моя модель: `

 protected $table = 'devices';
protected $primaryKey = 'id';

protected $fillable = [
    'username',
    'mac_addr',
];

public static $rules = [
    'username' => 'required|max:255',
    'mac_address' => 'required|max:255'
];
 

Это мое хранилище функций в контроллере:

 public function store(Request $request)
{
    $input = new Device;
    //On left field name in DB and on right field name in Form/view
    $input->username = $request->username;
    $input->mac_address = $request->mac_address;
    $input->save();

    return redirect()->route('store');
}
 

Это мой маршрут:

 Route::post('store', [DeviceController::class, 'store'])->name('store');
 

и, наконец, моя форма:

     @extends('backend.layouts.app')

@section('content')
<form action="{{ url('admin/store') }}" method="POST">
    @csrf
    <div class="form-group row">
        <label class="col-sm-2 col-form-label">Username</label>
        <div class="col-sm-10">
        <input type="text" name="username" class="form-control" id="username">
        </div>
    </div>
    <br>
    <div class="form-group row">
        <label class="col-sm-2 col-form-label">MAC ADDRESS</label>
        <div class="col-sm-10">
        <input type="text" name="mac_address" class="form-control" id="mac_address" placeholder="ex: 12:C4:65:8D:3A:00">
        </div>
    </div>
    <br>
    <button type="submit" class="btn btn-ghost-primary" id="register">Register</button>
    <button type="reset" class="btn btn-ghost-primary" id="reset">Reset</button>
</form>
@endsection
 

Комментарии:

1. действие вашей формы таково : action = "{{url ('admin/store')}}" но я не вижу никакого admin/store маршрута ?

Ответ №1:

 Route::post('admin/store', [DeviceController::class, 'store'])->name('store');
 

Не так ли ?

Ответ №2:

Измените действие своей формы :

 action = "{{url('admin/store')}}"
 

Автор: :

 action = "{{route('store')}}"
 

Или просто измените свой маршрут, :

 Route::post('admin/store', [DeviceController::class, 'store'])->name('store');