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

Rails 7添加Importmap后Turbo失效及Bulma JS导入问题求助

解决方案

Rails 7默认依赖Turbo处理非GET请求,link_to的:method => :delete完全靠Turbo的data-turbo-method逻辑支撑,按以下步骤排查:

  • 打开app/javascript/application.js,确认包含Turbo的导入语句:
    import "@hotwired/turbo-rails"
    
  • 执行命令确保Turbo被正确添加到importmap:
    ./bin/importmap pin @hotwired/turbo-rails
    
  • 重启Rails服务器,同时清除浏览器缓存(Turbo的缓存机制容易残留旧代码,导致功能异常)

2. 解决bulma_css_helper模块解析错误

importmap中无该模块,说明未完成pin操作,按以下步骤处理:

  • 确认Gemfile中已添加bulma-css-rails或相关依赖gem,执行bundle install安装
  • 执行命令将模块添加到importmap:
    ./bin/importmap pin bulma_css_helper
    
  • 若需要使用navbar_toggler功能,在app/javascript/application.js中添加导入:
    import "bulma_css_helper/navbar_toggler"
    
  • 再次执行./bin/importmap json,确认bulma_css_helper相关条目已存在

3. 给button_to添加删除确认提示

button_to默认不带确认逻辑,需手动添加data-turbo-confirm属性:

<%= button_to "删除", resource_path(resource), method: :delete, data: { turbo_confirm: "确定要删除吗?" } %>

添加后点击按钮会弹出确认对话框,确认后才会发送DELETE请求

额外检查项

  • 检查浏览器控制台是否有其他JS错误,其他异常可能阻断Turbo初始化
  • 确认页面<head>中包含<%= javascript_importmap_tags %>标签,这是加载importmap的必要入口
  • 若手动修改过config/importmap.rb,排查是否存在拼写错误或重复条目

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 22:37:40