【发布时间】:2020-01-21 03:48:25
【问题描述】:
我正在 Laravel 6 中构建一个讨论表单。我使用的路由是 POST 方法,我在 route:list 中检查了它。我收到以下错误,为什么?
此路由不支持 POST 方法。支持的方法: GET、HEAD、PUT、PATCH、DELETE
查看
<form action="{{ route('replies.store', $discussion->slug) }}" method="post">
@csrf
<input type="hidden" name="contents" id="contents">
<trix-editor input="contents"></trix-editor>
<button type="submit" class="btn btn-success btn-sm my-2">
Add Reply
</button>
</form>
路线
Route::resource('discussions/{discussion}/replies', 'RepliesController');
控制器
public function store(CreateReplyRequest $request, Discussion $discussion)
{
auth()->user()->replies()->create([
'contents' => $request->contents,
'discussion_id' => $discussion->id
]);
session()->flash('success', 'Reply Added.');
return redirect()->back();
}
【问题讨论】:
-
Route::resource('discussions/{discussion}/replies', 'RepliesController');没有意义。创建资源路由时不指定参数。