Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Highcharts-如何在Rails 3中拆分多个图表_Javascript_Jquery_Ruby On Rails 3_Web Applications_Highcharts - Fatal编程技术网

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脚本