1

我有一个使用flot生成图表的 Rails 4 应用程序。目前,我有一个图表可以正确显示在仪表板上,但是当我将第二个图表添加到不同的页面时,它无法呈现。而且,在这两个页面上,我都在查看控制台时收到以下错误:

Uncaught TypeError: Cannot call method 'replace' of undefined 

这是调用两个flot函数(同一个文件)的 CoffeeScript:

d1 = [[1, 2], [3, 4], [5, 6]]
$.plot "#flotchart", [d1]

d2 = [[1, 2], [3, 4], [5, 6]]
$.plot "#flotchart2", [d2]

而且,在两个单独的文件中,我只有空的 div:

<div id="flotchart"></div>

<div id="flotchart2"></div>

同样,第一个显示得很好,但第二个根本没有显示,并且两者都有上面看到的未捕获类型错误。

我猜测类型错误是由于在仍然调用 jQuery 的某些页面中缺少#flotchart (因为 Rails 将它们全部加载到开发环境中的每个页面)?如果是这样,有没有办法解决这个问题?然后,为什么第二张图表根本没有出现?

提前感谢您的帮助!

4

1 回答 1

1

问题是与我在同一页面上加载的单独 JS 库发生冲突。因此,我的解决方案是消除该页面上包含但不需要的其他 Javascript。在 Rails 中,我通过编写一个只包含所需 JS 的助手来做到这一点。

于 2013-10-18T20:16:17.110 回答