2015-02-23 3 views
1

Я пытаюсь получить Chartkick in Rails использовать источник данных JSON.
При указании диаграммы как pie_chart User.group(:language).count Я получаю ожидаемую круговую диаграмму.chartkick Источник данных JSON

Но при указании графика как: pie_chart /path_to_report_data из метода контроллера данных я ничего не получаю. не То есть, пустой, пустой диаграммы (нет данных в нем)

Мой контроллер данных:

def report  
    @language= User.group(:language).count 
    if request.xhr? 
     render :json => { :language => @language } 
    end 
    end 

Мое мнение:

<%= line_chart "/data/report" %> 

Я могу видеть данные передаются через Ajax вызовите указанный контроллер.

+0

Я думаю, вам нужно попробовать еще раз с подробной информацией, потому что есть очень мало здесь. –

+0

Проблема, по-видимому, является форматом данных JSON. При доставке данных в виде {"": 5, "ru": 12} получается приличный график. При использовании форматированного формата в контроллере, который создает {"language": {"": 5, "ru": 12}} Я получаю пустой граф. – user2459657

+0

Это работает? 'render: json => @ language.to_json' –

ответ

1

Это один работает для меня:

def report1 
    begin 
    @data= [["Cat",6],["Dog",4],["Horse",1],["Parrot",2]] 
    rescue Exception => ex 
    logger.info('Report 1 error : ' + ex.message) 
    @data = nil 
    end 
    if request.xhr? 
    render json: @data 
    end 
end 

и в представлении:

<%= datasource = "/path_to_data_controller/report1" 
    line_chart datasource, discrete: true 
%> 

HTH

 Смежные вопросы

  • Нет связанных вопросов^_^