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

Rails 6迁移至Import Maps后Stimulus控制器加载失败求助

Rails 7.x 升级时 Stimulus 资产预编译问题的解决方法

问题情况

升级到Rails 7.x的过程中,先尝试更新JavaScript相关组件,安装Stimulus后加载页面出现以下报错:

Asset was not declared to be precompiled in production.
Add Rails.application.config.assets.precompile += %w( controllers/hello_controller.js ) to config/initializers/assets.rb and restart your server

虽然可以手动把单个控制器文件加入预编译列表,但项目里有多个自定义或第三方的嵌套JavaScript文件,逐个添加显然不现实。按Stimulus的预期应该能自动加载controllers目录下的所有文件,推测问题和文件打包机制有关,但之前试了各种方法都没解决。

可行解决方案

将Sprockets升级到4.x版本就能解决这个问题,具体可参考Sprockets官方的3.x到4.x升级指南。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 07:41:24