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

Ruby on Rails 7中Chartkick无法加载,图表显示‘Loading...’求助

解决Ruby on Rails中Chartkick折线图显示“Loading...”的问题

根据你提供的操作步骤和页面源码,以下是你可能遗漏的关键步骤:

1. 在JavaScript入口文件中导入Chartkick和Chart.bundle

你已在importmap.rb完成pin配置,但还需在app/javascript/application.js中显式导入两个库:

import "chartkick"
import "Chart.bundle"

2. 适配Turbo加载逻辑

Rails默认启用Turbo,页面切换为局部刷新模式,需补充Turbo加载后的图表初始化逻辑。在application.js中添加:

document.addEventListener("turbo:load", function() {
  if (window.Chartkick) {
    window.Chartkick.eachChart(function(chart) {
      chart.redraw();
    });
  }
});

3. 重启Rails开发服务器

修改importmap.rb或application.js后,必须重启服务器才能让新配置生效。

4. 验证资源加载状态

通过浏览器开发者工具的Network标签,确认chartkick.js和Chart.bundle.js已成功加载(HTTP状态码为200)。若加载失败,检查importmap.rb中的pin路径是否正确。

额外排查点

  • 确保Rails 7+环境下未同时使用Webpacker等其他打包工具,避免与Importmap冲突;
  • 查看浏览器控制台(F12打开)的报错信息,比如Chart.js未找到的提示,可定位依赖加载问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 14:06:18