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.

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top