Chartkick:未定义的方法“line_chart”

Chartkick: Undefined method `line_chart'

我正在开发 Rails 6 应用程序,我正在尝试为我的应用程序中的图表设置 Chartkick

我是这样安装Chartkick的:

  1. 对于Rails6/Webpacker,运行:

    yarn add chartkick chart.js
    
  2. 并在app/javascript/packs/application.js中添加:

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

3安装Groupdate使用group_by_day方法

gem 'groupdate'

然后运行 bundle install.

但是,当我将此行添加到我的仪表板视图时:

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

使用 @products 变量显示产品图表:

class Admins::DashboardController < ApplicationController
  before_action :authenticate_admin!

  # GET /dashboards
  # GET /dashboards.json
  def index
    @products = Product.all
  end
end

我收到以下错误:

undefined method `line_chart'

我想知道我做错了什么。

终于想通了

这是我修复它的方法:

问题是我缺少第一个要求:

将这一行添加到您的应用程序的 Gemfile 中:

gem "chartkick"

然后运行bundle install

我最初的误解是我不需要这个要求,因为我正在使用 Rails 6 应用程序。

我认为此步骤仅适用于 Rails 5 及以下应用程序,不适用于 Rails 6 应用程序,因为我 运行 yarn add chartkick chart.js。但事实证明这是不正确的。 Rails 6 应用程序和 Rails 5 应用程序及以下应用程序都需要它。

就这些了。

希望对您有所帮助