Open Flash Chart Ajuda necessária
-
21-09-2019 - |
Pergunta
def reparto_de_ventas_por_marca
#obtener los montos de las ventas en el periodo comprendido y sumarlas
@ventas = Venta.find(:all)
@marcas = Marca.find(:all)
title = Title.new("Ingresos de este mes: #{@total}")
pie = Pie.new
pie.start_angle = 35
pie.animate = true
pie.tooltip = '#val# de #total#<br>#percent# de 100%'
pie.colours = ["#245a9c", "#fff"]
pie.values = [
@marcas.each do |result|
PieValue.new(result.ventas.count, result.name)
end
]
chart = OpenFlashChart.new
chart.title = title
chart.add_element(pie)
chart.x_axis = nil
render :text => chart.to_s
end
Ele simplesmente não funciona, preciso obter os valores para criar um gráfico com o gráfico flash.
Qualquer ajuda será apreciada.
Solução
Tentar
pie.values = @marcas.collect {|result| PieValue.new(result.ventas.count, result.name)}
Outras dicas
Não tenho certeza de qual plugin aberto de gráfico flash você está usando, mas parece -me que ambos usam o método #render
, não #to_s
Para renderizar o gráfico.
Aqui estão os exemplos: http://pullmonkey.com/projects/open_flash_chart/view_source_code/pie http://rails-open-flash-chart-plugin.googlecode.com/svn/trunk/lib/open_flash_chart.rb
Verifique se seus valores são flutuantes/decimais. Se o seu idioma é espanhol, é possível que seu separador decimal seja uma 'vírgula', e isso broke a estrutura JSON. Uma solução pode ser definir sua localidade para o inglês. Outra alma é arredondar seus valores para inteiro ... Espero que isso ajude você.
Cumprimentos.