我在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不止一次被查询......有人可以提供一些见解吗?
答案 0 :(得分:0)
我找到了解决方案。这只发生在开发中而不是生产中,并且是由将资产预编译为公共/资产进行生产而引起的。