Php 提交时MethodNotAllowedHttpException
我在三个小时前第一次开始使用Laravel,我正在尝试创建一本基本的金书,人们可以在书中写一些关于餐馆的好东西 因此,我使用命令Php 提交时MethodNotAllowedHttpException,php,forms,exception,laravel-5,Php,Forms,Exception,Laravel 5,我在三个小时前第一次开始使用Laravel,我正在尝试创建一本基本的金书,人们可以在书中写一些关于餐馆的好东西 因此,我使用命令php-artisan-make:controller-GoldenbookController--resource创建了我的控制器,然后使用命令php-artisan-make:model-Goldenbook-m创建了我的模型。在迁移过程中,我只是在迁移之前添加了“name”和“message”。我还在routes/web.php文件中添加了resource 创建视
php-artisan-make:controller-GoldenbookController--resource
创建了我的控制器,然后使用命令php-artisan-make:model-Goldenbook-m
创建了我的模型。在迁移过程中,我只是在迁移之前添加了“name”和“message”。我还在routes/web.php
文件中添加了resource
创建视图和表单后,我尝试了该操作,但出现以下错误:
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();
}
Route::resource('goldenbook', 'GoldenbookController');
这是我的表格
{!! 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
和您的表单
中的路由都有问题
你的web.php
应该有goldenbook
Route::resource('goldenbook', 'GoldenbookController');
{!! Form::open(['url' => 'goldenbook/store']) !!}
您的表单应该有goldenbook/store
或goldenbook
Route::resource('goldenbook', 'GoldenbookController');
{!! Form::open(['url' => 'goldenbook/store']) !!}
或者您也可以传递路线的名称
{!! Form::open(['url' => 'goldenbook.store']) !!}]
这应该能解决你的问题
如果您想知道路线的名称,并且正在使用Laravel 5.*
您可以使用
php artisan route:list
检查您的url是否与路由匹配
由于您的
goldenbook/create
route只接受GET
请求,因此您使用POST
方法的路线错误。这应该可以解决您的问题。Route::resource('livre-dor','GoldenbookController')代码>应该是Route::resource('goldenbook','GoldenbookController')代码>这是一个输入错误,在请求更多帮助之前,我尝试了一些方法,但将“livre dor”更改为goldenbook并没有改变我看到的任何东西。另一件事:{!!Form::open(['url'=>'goldenbook/create'])!!
应该是{!!Form::open(['url'=>'goldenbook'])!!
,因为路由控制器将自动调用存储
函数来发布到该资源。()