此页面有路线
Route::get('forums/comment/{id}', 'ForumController@comment');
在控制器中
public function comment($id){
$forum = DiscussionForum::where('id', $id)
->with('comment', 'user')->first();
$comment = Reply::with('discussionForum', 'user')
->where('discussion_forum_id', $forum->id)
->orderByDesc('updated_at')->get();
return Inertia::render('Forum/Comment.vue', [
'forum' => $forum,
'comments' => $comment
]);
}
我的问题是如何将此评论保存在评论控制器中,在我的 vue 文件中,当我按下保存按钮时,我有这个方法会被执行
submit() {
this.$refs.form.validate((valid) => {
if (valid) {
if (!this.form.id) {
this.$inertia.post('comments', {
comment: this.form.comment,
forum_id :this.form.id,
}).then(() => this.refresh())
}
} else {
return false;
}
this.reset();
});
},
我也有这条评论路线
Route::resource('comments', 'ReplyController');
对于商店功能,我有这个
public function store(Request $request)
{
DB::beginTransaction();
$comment = new Reply();
$comment->user_id = auth()->user()->id;
$comment->discussion_forum_id = $request->forum_id;
$comment->comment = $request->comment;
$comment->comment_time = Carbon::now();
$comment->save();
DB::commit();
}
问题是当我尝试保存评论时出现此错误
此路由不支持 POST 方法。支持的方法:GET、HEAD。
我怎样才能解决这个问题?或者有什么更好的方法来做到这一点?