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

Rails 7中替换form.rich_text_area后文本域消失问题求助

解决Action Text rich_text_area文本域消失问题

以下是针对该问题的排查与修复步骤:

1. 确认JavaScript模块已正确导入

在app/javascript/application.js中添加Action Text的导入语句:

import "@hotwired/turbo-rails"
import "@rails/actiontext" // 必须添加此行
import "controllers"

Action Text依赖自身JS模块初始化Trix编辑器,缺少该导入时,rich_text_area生成的DOM元素无法渲染为可见编辑器。

2. 导入Trix样式文件

在app/assets/stylesheets/application.bootstrap.scss中添加Trix样式引用:

@import "bootstrap";
@import "trix/dist/trix"; // 添加此行

未加载Trix默认样式时,编辑器会处于不可见状态,视觉上表现为文本域消失。

3. 移除Blog模型对应的原content字段

使用has_rich_text :content后,Rails会自动创建action_text_rich_texts表存储富文本内容,原blogs表的content:text字段会引发冲突:

  • 生成移除字段的迁移文件:
rails generate migration RemoveContentFromBlogs content:text
  • 执行迁移:
rails db:migrate

4. 重新编译前端资源

确保前端资源已正确编译,开发环境运行:

bin/dev

生产环境执行:

rails assets:precompile

esbuild需要将导入的模块打包到app/assets/builds目录,未编译会导致浏览器无法加载所需JS和CSS。

5. 检查浏览器控制台错误

打开浏览器开发者工具的Console面板,查看是否存在JS加载错误(如模块找不到、语法错误),这类错误会直接导致Action Text编辑器无法初始化。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 22:15:40