php - 模板中的 app.request.method 参数总是在表单提交后给出 GET
问题描述
{{ app.request.method }}
表单提交后总是导致 GET
配置控制器.php
/**
* @Route("/edit_profile_meta", methods={"GET", "POST"}, name="user_edit_meta")
*/
public function edit_profile_meta(Request $request): Response
{
$profile = $this->getProfile();
$form = $this->createForm(ProfielType::class, $profile);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$entityManager = $this->getDoctrine()->getManager();
$entityManager->persist($profile);
$entityManager->flush();
$this->addFlash('success', 'user.updated_successfully');
return $this->redirectToRoute('user_edit_meta');
}
return $this->render('user/edit_meta.html.twig', [
'profile' => $profile,
'form' => $form->createView(),
]);
}
_flash_messages.html.twig
{% if app.request.method == 'POST' %}
<div class="messages">
{% for type, messages in app.flashes %}
{% for message in messages %}
<div class="alert alert-dismissible alert-{{ type }} fade in" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
{{ message|trans }}
</div>
{% endfor %}
{% endfor %}
</div>
{% endif %}
我的表单呈现为 with method=post。我的模板仍然告诉我 request = GET 吗?
解决方案
推荐阅读
- node.js - 如何调试“构建”的生产 NodeJS
- powershell - 如何使用 innoSetup 执行 PowerShell 脚本
- php - null 安全运算符如何在 php 8 中工作?
- youtube-api - 延长 YouTube 数据 API 的配额需要多少费用
- image - 如何跟踪/勾勒图像中的对象?
- ms-access - 访问显示一个名称的多个记录
- nasm - 在 nasm 中编译 16 位 (8086code) 的语法
- javascript - Tailwind CSS 水平溢出换行
- r - 有什么方法可以从 R 中的数据框的列中拆分键和值,并将键附加为数据框每一行的列名称和值?
- azure - 用于文件迁移的 Azure LogicApp