Я следил за установкой чарткиков, но на графике отображается только «загрузка» - PullRequest
0 голосов
/ 11 февраля 2019

Я собираюсь интегрировать некоторые диаграммы в свое приложение, поэтому я пытаюсь использовать Chartkick для этого.Насколько я могу судить, я следил за процессом установки отсюда (https://github.com/ankane/chartkick),, который казался довольно простым. Но на мой взгляд, на диаграмме отображается только «загрузка».

Я убедился, что яя связал и я перезапустил rails s, а также протестировал его с другими моделями, но вернулся к примеру со страницы github с моделью User (в моем случае я сделал 3).

Gemfile:

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

assets / 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'

ImЯ не уверен, пропускаю ли я что-то действительно очевидное или что-то мешает или что-то в этом роде, но моя диаграмма показывает «Загружается ...» только когда я открываю страницу. У кого-нибудь есть идея, что это за недостающая часть?

1 Ответ

0 голосов
/ 11 февраля 2019

В сообщении говорится, что не удалось найти диаграммы javascript.Этот скрипт не загружен.

Я поставил следующую конфигурацию, и она работает правильно.

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

в моем app/assets/javascripts/application.js

//
//
//= require rails-ujs
//= require activestorage
//= require jquery3
//= require popper
//= require bootstrap
//= require Chart.bundle
//= require chartkick
//= require turbolinks
//= require_tree .

и на мой взгляд

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

И это работает, поэтому давайте рассмотрим, в чем может быть проблема.Запустите следующую команду в корневом каталоге вашего проекта, чтобы проверить гемы

gem list Chartkick

Это должно дать вам следующий ответ

*** LOCAL GEMS ***

chartkick (3.0.2)

Это означает, что вы правильно установили свой гем, в противном случае удалите gem 'chartkick', '~> 3.0', '>= 3.0.1' и измените его на gem 'chartkick', а затем выполните следующую команду runt

bundle install

Еще одна вещь, которую я замечаю, у вас другой jquery, каков ваш драгоценный камень jquery?если вы используете gem 'jquery-rails', то это должно быть `// = require jquery3, но вы упомянули только jquery.Я думаю, вам лучше поделиться своим Gemfile.

Если вы все еще сталкиваетесь с проблемой, я рекомендую сделать тестовый проект и поставить вышеупомянутую конфигурацию, как я сделал, и посмотреть, работает ли она или нет.Кроме того, вы можете проверить содержимое файла application.js в браузере и посмотреть, загружен ли ваш jquery и загружен этот контент плагина.

...