Javascript Highcharts-如何在Rails 3中拆分多个图表
我试图在两个独立的视图上绘制两个独立的图形——一个在项目索引页面上,另一个在项目显示页面上。我计划为每个模型在相似的位置创建不同的图,因此我在Javascript Highcharts-如何在Rails 3中拆分多个图表,javascript,jquery,ruby-on-rails-3,web-applications,highcharts,Javascript,Jquery,Ruby On Rails 3,Web Applications,Highcharts,我试图在两个独立的视图上绘制两个独立的图形——一个在项目索引页面上,另一个在项目显示页面上。我计划为每个模型在相似的位置创建不同的图,因此我在app/assets/javascripts/中创建了与我的模型对应的文件夹,其中包含这些图所需的所有Javascript文件(我目前为每个图创建了一个文件)。我可以让他们自己单独绘制,但是当我将两个文件都提供给浏览器时,它将只绘制HTML源代码中首先列出的文件。我已经确保两个图形都渲染到不同的div——但这似乎没有帮助。当我在web浏览器中查看Javas
app/assets/javascripts/
中创建了与我的模型对应的文件夹,其中包含这些图所需的所有Javascript文件(我目前为每个图创建了一个文件)。我可以让他们自己单独绘制,但是当我将两个文件都提供给浏览器时,它将只绘制HTML源代码中首先列出的文件。我已经确保两个图形都渲染到不同的div
——但这似乎没有帮助。当我在web浏览器中查看Javascript控制台时,出现了一个错误:
Uncaught Highcharts error #13: www.highcharts.com/errors/13
这意味着图形无法找到它被告知在中渲染的div
这很有意义,两个图形都被提供给页面,但只有一个能够找到它对应的div
。能够看到其中一个而看不到另一个也是部分原因——HTML源代码中第一个列出的图形起作用,错误是Highcharts说第二个图形找不到它的div
。当我转到第二个图表的页面时,第一个图表上的Highcharts错误会消失,而第二个图表则未显示
有没有更好的方法来组织这件事?我应该将所有与模型相关的Java脚本保存在一个文件中吗?我引用的
div
s是错的吗?因此,经过一点进一步的研究和朋友的帮助,我找到了一个非常合适的答案:
最初,我在我的app/assets/javascripts/application.js中有以下行:
//= require_tree .
这将指示rails服务器提供该目录中的所有文件,包括目录中的文件
将此更改为
//= require_directory .
rails服务器现在只提供直接位于该目录中的文件
这样,我就可以在每个视图中添加单独的javascript\u include\u标记,如下所示:
= javascript_include_tag "projects/show"
现在,我的图可以工作了,服务器也不会提供不必要的Java脚本 所以,经过一番研究和一位朋友的帮助,我找到了一个非常合适的答案:
最初,我在我的app/assets/javascripts/application.js中有以下行:
//= require_tree .
这将指示rails服务器提供该目录中的所有文件,包括目录中的文件
将此更改为
//= require_directory .
rails服务器现在只提供直接位于该目录中的文件
这样,我就可以在每个视图中添加单独的javascript\u include\u标记,如下所示:
= javascript_include_tag "projects/show"
现在,我的图可以工作了,服务器也不会提供不必要的Java脚本