2012-08-25 4 views
0

내 레일 앱을 Highchart (error 14)로 Heroku에 게시 할 때 오류가 발생합니다. 개발 중에는 모두 잘 작동하며 값은 문자열로 변환되지 않습니다. 내보기는 Heroku가에로드 될 때문자열 값이 series.data에 전송 됨, 예상 번호가

는 기본적으로, 나는 다음과 같은 코드를 얻을 : 우리가 series.data 보면

<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> 

, 우리는 [], [ "M" "432854518.0을"] 볼을, 여기에 문제가 있습니다. 오른쪽의 값은 float이거나 적어도 정수 여야합니다.

내 컨트롤러 :

@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 

동일한 솔루션 개발에 작동하는 이유에 대한 모든 아이디어,하지만 그렇게 내 영웅 환경을 위해서? 그리고 해결 방법은?

+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가 사이에 다른 행동 그래도 이해가 안 : 여기

솔루션 (기본적으로 떠있는 숫자로 변환)입니다.