我有一个显示Morris.js图表的仪表板页面。如果我手动键入URL或刷新页面,图表将正确显示,但如果我单击应用程序中的链接以加载仪表板,则图表将不会显示。看来这是turbolinks的一个问题。
我发现a strategy我相信会允许图表在链接点击上显示,但我不知道如何实现它,因为我对Javascript不是很熟悉。
dashboard.html.erb:
...
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title"><i class="fa <%= icon_name %> fa-fw"></i> <%= description %> Chart</h3>
</div>
<div class="panel-body">
<%= content_tag :div, "",
id: 'laser_sheets_chart',
data: {sheets_stats: result.to_json} %>
</div>
</div>
</div>
...
pages.coffee:
jQuery ->
Morris.Line({
element: 'laser_sheets_chart',
data: $('#laser_sheets_chart').data('sheets-stats')
xkey: 'date',
ykeys: ['cut', 'programmed'],
labels: ['Cut', 'Programmed'],
xLabels: "day"
pointSize: 3,
hideHover: 'auto',
resize: true,
smooth: true
});