You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Phoenix中使用form_for出现标签匹配及函数未定义错误求助

问题原因

  • 第一个unmatched closing tag报错:你使用的是旧版EEx模板的form_for/3函数语法,不符合HEEx模板的严格标签校验规则。form_for/3执行时会自动输出<form>开始标签,你手动补充</form>闭合标签会导致模板解析时结构校验失败。
  • 第二个undefined function form_for/3报错:Phoenix 1.7及以上版本已经默认移除了对form_for/3函数的全局导入,该函数已被官方标记为弃用,新版本统一使用<.form>内置函数组件实现表单功能,直接调用旧函数就会触发未定义报错。

解决方案

直接替换为Phoenix官方推荐的<.form>组件写法即可,适配HEEx规则且不会触发弃用警告,正确代码如下:

<.form
  id="chat-form"
  for={:chat}
  action="#"
  phx-submit="submit_message"
>
  <input type="text" name="chat[message]" placeholder="Enter Message" />
</.form>

如果暂时需要兼容旧版form_for写法(不推荐长期使用),可以在对应LiveView模块顶部手动导入函数:

import Phoenix.HTML.Form, only: [form_for: 3]

内容的提问来源于stack exchange,提问作者piwayof838

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 13:36:04