首页 > 解决方案 > 我已按照 chartkick 安装,但图表仅显示“正在加载”

问题描述

我希望在我的应用程序中集成一些图表,所以我尝试使用 Chartkick。据我所知,我从这里 ( https://github.com/ankane/chartkick ) 开始遵循设置过程,这看起来非常简单。但在我看来,图表只显示“加载”。

我已确保我已捆绑并重新启动 rails 并使用不同的模型对其进行了测试,但使用 User 模型从 github 页面恢复到示例(在我的情况下我做了 3 个)。

宝石文件:

    gem 'chartkick', '~> 3.0', '>= 3.0.1'
    gem 'groupdate', '~> 4.1'

资产/javascripts/application.js:

    //= require rails-ujs
    //= require jquery
    //= require jquery_ujs
    //= require bootstrap-sprockets
    //= require Chart.bundle
    //= require chartkick
    //= require_tree .

意见:

    <%= line_chart User.group_by_day(:created_at).count %>

Rails s 显示 group_by_date 部分

(0.6ms)  SELECT COUNT(*) AS count_all, (DATE_TRUNC('day', ("searches"."created_at"::timestamptz) AT TIME ZONE 'Etc/UTC')) AT TIME ZONE 'Etc/UTC' AS date_trunc_day_searches_created_at_timestamptz_at_time_zone_etc FROM "searches" WHERE ("searches"."created_at" IS NOT NULL) GROUP BY (DATE_TRUNC('day', ("searches"."created_at"::timestamptz) AT TIME ZONE 'Etc/UTC')) AT TIME ZONE 'Etc/UTC'

我不确定我是否遗漏了一些非常明显的东西或有什么干扰等,但每当我拉起页面时,我的图表只会显示“正在加载...”。任何人都知道缺少的部分是什么?

标签: ruby-on-railschartkick

解决方案


对于使用 webpacker 的 rails 6,将两者都放入:

    //= require chartkick
    //= require Chart.bundle

    require("chartkick")
    require("chart.js")

在 application.js 中各自的位置为我工作。

这里的“快速入门” - https://chartkick.com/告诉您将第一个用于 rails 5 和 sprockets,将第二个用于 rails 6 和 webpacker,这很令人困惑,或者我可能只是误解了措辞.


推荐阅读