【发布时间】:2018-07-18 02:32:20
【问题描述】:
美好的一天,
我真的是 laravel 的新手,并且玩得很开心,直到我遇到一个真正让我在编程中痛苦的问题,它是更新方法期间的验证重定向。它给了我一个错误
Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException 没有消息
该程序是关于拒绝购买请求的,我希望拒绝写一个关于拒绝原因的注释,该字段不应为空,我可以验证它,但我的问题是重定向期间的错误。
这里是deny.blade.php的格式
{!!Form::open(['action'=>['prInitialApprovalController@update',$post->id],',method'=>'POST', 'class'=>'pull-right'])!!}
<div class="form-group">
{{Form::label('denyNote','Deny Note(Please fill this up for it is required)')}}
{{Form::textarea('denyNote','', [ 'id'=>'article-ckeditor','class'=>'form-control','placeholder'=>'Please fill deny note for it is required'])}}
</div>
{{Form::hidden('denied','11', ['class'=>'form-control'])}}
{{Form::hidden('_method','PUT')}}
{{Form::submit('Deny', ['class'=>'btn btn-primary'])}}
<a href="/pr_approval" class="btn btn-dark">Return</a>
{!!Form::close()!!}
这是控制器上的更新方法
public function update(Request $request, $id)
{
//update category
$post = prModel::find($id);
if($request->input('denied') == '11'){
$validator = Validator::make($request->all(), [
'denyNote' => 'required',
]);
if ($validator->fails()) {
return redirect()->action(
'prInitialApprovalController@deny', $id
)->withErrors($validator);
}else{
$post->pr_status = '11';
$post->deny_reason = $request->input('denyNote');
$post->save();
return redirect('/pr_approval')->with('success', 'Purchase Request Denied');
}
}
}
这是我的网络路线
Route::put('pr_approval/{id}/deny', 'prInitialApprovalController@deny');
Route:: Resource('/pr_approval', 'prInitialApprovalController');
Auth::routes();
这是路线列表
请帮助我好几天都坚持这个问题。我正在使用 laravel 5.6
谢谢
【问题讨论】:
-
试试这个让我知道 {{ Form::open(array('url' => '/', 'method' => 'PUT', 'class'=>'col-md -12')) }} .... 无论代码在这里 {{ Form::close() }} 您必须将方法从 post 更改为 put
-
尝试使用路由或网址代替操作?
-
试过了,还是一样的错误
-
@motifaithed 运行此命令并将输出发布到您的问题中。 php工匠路线:列表
-
已经上传了路由列表图片