2012-08-25 84 views
0

我在使用Highcharts將我的rails應用程序發佈到Heroku時出錯(error 14)。在開發中,它一切正常,值不會轉換爲字符串。發送到series.data的字符串值,預計編號

基本上,當我的看法是裝在Heroku上,我得到了下面的代碼:

<script type="text/javascript" charset="UTF-8"> 
    $(function() { 
     var chart; 
     $(document).ready(function() { 
      chart = new Highcharts.Chart({ 
       chart: { 
        renderTo: 'visualization', 
        plotBackgroundColor: null, 
        plotBorderWidth: null, 
        plotShadow: false 
       }, 
       title: { 
        text: 'Receipts by Gender' 
       }, 
       tooltip: { 
        formatter: function() { 
         return '<b>'+ this.point.name +'</b>: '+ this.percentage +' %'; 
        } 
       }, 
       plotOptions: { 
        pie: { 
         allowPointSelect: true, 
         cursor: 'pointer', 
         dataLabels: { 
          enabled: false 
         }, 
         showInLegend: true 
        } 
       }, 
       series: [{ 
        type: 'pie', 
        name: 'Receipts by gender', 
        data: [["M", "432854518.0"]] 
       }] 
      }); 
     }); 

    }); 
    </script> 

如果我們看一下series.data,我們將看到[ 「M」, 「432854518.0」],這裏我們遇到了問題。右邊的值應該是一個浮點數或者至少一個整數。

我的控制器:

@pie_gender_total = Receipt.group_by_gender_pie(current_user, :total) 
    @pie_gender = @pie_gender_total 

我的觀點:

<script type="text/javascript" charset="UTF-8"> 
$(function() { 
    var chart; 
    $(document).ready(function() { 
     chart = new Highcharts.Chart({ 
     ... 
      series: [{ 
       ... 
       data: <%=raw @pie_gender %> 
      }] 
     }); 
    }); 

}); 
</script> 

而且我的模型方法:

def self.group_by_gender_pie(user, dim, begin_date=nil, end_date=nil) 
    arr=[] 
    self.group_by_gender(user).each do |item| arr.push([item.gender, dim == :count ? item.number_of_receipts : item.total]) end 
    arr 
    end 

爲什麼同一個解決方案的開發工作任何想法,但並非如此爲我的heroku環境?和解決方法?

+0

感謝@Tanzeeb的編輯 – MrWater

回答

0

最後,我發現問題可以追溯到模型。

這裏是解決方案(基本轉換的數字浮動):

def self.group_by_gender_pie(user, dim, begin_date=nil, end_date=nil) 
    arr=[] 
    self.group_by_gender(user).each do |item| arr.push([item.gender, dim == :count ? item.number_of_receipts.to_f : item.total.to_f]) end 
    arr 
    end 

我還是不明白,爲什麼發展和Heroku上的不同的行爲雖然。