我正在与Laravel8合作开发我的论坛项目,目前我已经制作了一个用户可以编辑答案的页面。表格如下:
<form action="{{ route('update.answer', [$anss->id, $que->id]) }}" method="POST">
@csrf
<textarea name="answer" id="answer" class="form-control" rows="7">{{ $ans->answer }}</textarea>
@error('answer')
<div class="text-red-500 mt-2 text-sm">
{{ $message }}
</div>
@enderror
<button type="submit" class="text-blue-500 BJadidBold">Update</button>
</form>
然后在控制器方法中,我添加了以下内容:
public function updateAnswer(Answer $anss, Question $que)
{
$validate_data = Validator::make(request()->all(),[
'answer' => 'required'
])->validated();
$answer = Answer::findOrFail($anss);
$answer->update($validate_data);
}
以下是实现这一目标的路线:
Route::post('questions/{anss}/{que}' , [QuestionController::class, 'updateAnswer'])->name('update.answer');
现在我想重定向用户到这样的网址:
http://localhost:8000/questions/question-slug-example
但是,通过此代码,用户将重定向到此url:
http://localhost:8000/questions/answer_id_example/question-slug-example
那么我如何才能做到这一点呢?
如果你能和我分享你的想法或建议,我将不胜感激...
谢谢
完成更新过程后,可以使用此代码重定向用户。
return redirect('redirect url')
如果您的路由类型是get及其命名路由,那么您可以像这样重定向
return redirect()->route('route_name')->with(['data' => $data]);
如果您的路由类型为get,并且尚未指定路由的名称,则
return redirect('/any_route_url_defined_in_web.php')->with(['data' => $data]);
不能重定向到POST类型路由。它必须是GET类型。要重定向,您可以使用:
return redirect('/questions/example/example');
我有一个servlet过滤器类。在doFilter函数中,我希望在chain.doFilter(请求,响应)调用之后重定向到一个自定义URL。
这是我正在查看的代码片段: 根据迭代器无效规则: 向量:插入点之前的所有迭代器和引用不受影响,除非新容器大小大于以前的容量(在这种情况下,所有迭代器和引用都无效)[23.2.4.3/1]迭代器无效规则 我明白,由于我在每个插入操作中重新分配iter的值,也许我能够保持它的有效性(如果我错了,请纠正我)。然而,迭代器“中间”在这种情况下仍然有效,即使我没有在循环中篡改它,而且当向量的容量发生变化时也
问题内容: 我正在使用maatwebsite / excel库创建excel文件,然后下载我的文件 在我的控制器中,我这样做: 这是我生成excel文件的功能: 但是在下载excel文件后,我无法重定向到路线或视图,并且我也尝试使用: 路线: 过滤: 但无论如何都没用,下载我的文件后还有另一种重定向的方式? 提前谢谢! 问题答案: 无法完成。问题是,如果您向用户浏览器发送下载指令,则实际上是在发送
问题内容: 我正在尝试找到一种方法,可将请求从过滤器重定向到登录页面,但我不知道如何从servlet重定向。我搜索了,但发现的是方法。我在过滤器的响应对象上找不到此方法。是什么原因 我该如何解决? 问题答案: 在Filter中,响应是而不是。因此将强制转换为。 如果使用上下文路径: 也不要忘记在最后打电话。
我想在成功登录后为特定页面重定向用户。 我不希望用户在登录后导航到上次查看的页面。 我试过以下网址,但它显示我的错误。 错误:
更新:我试过那些设置,但它们也不起作用。