I litteraly начал использовать Laravel в первый раз 3 часа назад, и я пытаюсь создать базовую золотую книгу, где люди могут писать хорошие вещи о ресторане.МетодNotAllowedHttpException on submit
Итак, я создал свой контроллер с командой php artisan make:controller GoldenbookController --resource
, затем моя модель с командой php artisan make:model Goldenbook -m
. В процессе миграции я просто добавил «имя» и «сообщение» перед переносом. Я также добавил resource
внутри routes/web.php
файла
После создания вида и формы, я попробовал и получил следующее сообщение об ошибке:
MethodNotAllowedHttpException in RouteCollection.php line 218
Я видел много людей, имеющих эту проблему, но путь решить это не соответствует моему делу, так как я использую Route::resource
, чтобы рассказать Laravel мой CRUD.
Вот мой GoldenBookController.php
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view('goldenbook.create');
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$validator = Validator::make($request->all(), [
'nom' => 'required',
'message' => 'required'
]);
if($validator->fails()){
return redirect('/')
->withInput()
->withErrors($validator);
}
$goldenbook = new Goldenbook;
$goldenbook->nom = $request->name;
$goldenbook->message = $request->message;
$goldenbook->save();
return redirect()->back();
}
Вот моя форма
{!! Form::open(['url' => 'goldenbook/create']) !!}
<div class="form-group">
{{ Form::label('name', 'Name') }}
{{ Form::text('name', null, ['class' => 'form-control']) }}
</div>
<div class="form-group">
{{ Form::label('message', 'Message') }}
{{ Form::textarea('message', null, ['class' => 'form-control']) }}
</div>
{{ Form::submit('Save', null,['class' => 'btn btn-primary']) }}
{!! Form::close() !!}
А вот мой файл маршрут, web.php
Route::resource('goldenbook', 'GoldenbookController');
Любая идея?
Спасибо заранее
'Route :: resource ('livre-dor', 'GoldenbookController');' должен быть 'Route :: resource ('goldenbook', 'GoldenbookController');' – IzzEps
Это опечатка, я пробовал несколько вещей раньше попросив еще немного помочь здесь, но изменение «livre-dor» для goldenbook ничего не изменило – Jaeger
Я вижу. Другое дело: '{!!Форма :: open (['url' => 'goldenbook/create']) !!} 'должно быть просто' {!! Форма :: open (['url' => 'goldenbook']) !!} ', поскольку контроллер маршрута автоматически вызывается функцией' store' для POST для этого ресурса. (Https://laravel.com/docs/5.3/controllers) – IzzEps