rails app上的Highcharts每次加载时都会呈现两次

时间:2015-07-11 21:06:35

标签: javascript jquery ruby-on-rails highcharts

我在Rails 4应用程序中使用Highcharts。每次加载图表时,它都会呈现两次。例如,如果单击链接以呈现包含特定图表的部分,则图表将显示一次,然后再次显示。该应用程序正在做两倍的工作,所以我想解决这个双重渲染问题

以下是对其中一个图表的示例调用:

查看:

<button class="btn btn-default">
    <%= link_to "Cumulative Customers", cumulative_customers_path, id: "bookings_per_customer", remote: true %>
</button>

cumulative_customers.js.erb:

$('.chart-display').html("");
$('.chart-display').append("<%= j render :partial => 'cumulative_customer_chart' %>");
$('.chart-display').append("<%= j render :partial => 'cumulative_customer_scripts' %>");

_cumulative_customer_chart.html.erb:

<div class="col-sm-12">
    <%= content_tag :div, "", id: "cumulative_customers_chart" %>
</div>

_cumulative_customer_scripts.html.erb:

<script>
$(function () {  
  new Highcharts.Chart({  

    chart: { 
        renderTo: 'cumulative_customers_chart',
        height: 600
    }, 
    credits: {
        enabled: false
    }, 

    title: { text: 'Customer Accounts by Day' },  
    xAxis: { type: 'datetime' },  
    yAxis: {  
      title: { text: 'Customer Accounts' }  
    },  
     series: [
        {  
            type: 'area',
        name: 'Customer Accounts',
      pointInterval: <%= 1.day * 1000 %>,  
      pointStart: <%= get_point_start %>,  
      data: <%= cumulative_customers_count(params[:filter_period]) %>  
    }]  

  });  
});  

我没有看到任何迹象表明Highcharts不止一次被查询......有人可以提供一些见解吗?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。这只发生在开发中而不是生产中,并且是由将资产预编译为公共/资产进行生产而引起的。