在Rails应用程序中加载自定义javascript文件

在Rails应用程序中加载自定义javascript文件,javascript,ruby-on-rails,ruby-on-rails-4,Javascript,Ruby On Rails,Ruby On Rails 4,我开发了一个javascript图表工具(使用kineticjs),需要加载一些不同的js文件。但它们需要按顺序加载。我是这样做的: 在特定视图内(文件顶部): 这些文件位于assets/javascripts/diagramtool 问题是,当我移动到包含上述代码的视图来加载文件时,它们没有按顺序加载。但是如果我刷新页面,它们将按顺序加载 所以,我的问题是 如何确保js文件按顺序加载? 为什么刷新页面时文件会按顺序加载?当我浏览应用程序时,为什么它们没有按顺序加载 还有别的办法吗?我尝试在ap

我开发了一个javascript图表工具(使用kineticjs),需要加载一些不同的js文件。但它们需要按顺序加载。我是这样做的:

在特定视图内(文件顶部):

这些文件位于
assets/javascripts/diagramtool

问题是,当我移动到包含上述代码的视图来加载文件时,它们没有按顺序加载。但是如果我刷新页面,它们将按顺序加载

所以,我的问题是

如何确保js文件按顺序加载? 为什么刷新页面时文件会按顺序加载?当我浏览应用程序时,为什么它们没有按顺序加载

还有别的办法吗?我尝试在application.js中使用带有“require”关键字的资产管道来实现这一点。但我不知道在那里怎么做

我还尝试将所有代码放在一个文件中,但该文件是在
kinetic
文件之前加载的!我会出错,因为我需要先加载库文件。但是如果我刷新页面,它会再次工作

有什么帮助吗?我真的不知道该怎么做才能让它正常工作。我是RubyonRails的新手,我还在学习如何进行这种“配置”

编辑: 我没有使用application.js来加载js文件,因为我不能这样做。但这是:

//= require jquery
//= require bootstrap-sprockets
//= require jquery
//= require jquery_ujs
//= require turbolinks

/* 
 require kinetic
 require diagramtool
 require_tree . 
 */

就是这样解决的:

已创建清单文件diagrams.js:

//= require diagramtool/kinetic
//= require diagramtool/diagramtool0
//= require diagramtool/diagramtool1
//= require diagramtool/diagramtool2
在视图中添加了以下内容:

<%= javascript_include_tag "diagrams" %>


将资产管道与清单文件一起使用。

您能否提供需要js文件“application.js”@AalaaMohamed的代码?我不知道如何在application.js文件中执行此操作,但我已将其放在上面的编辑部分。
//= require diagramtool/kinetic
//= require diagramtool/diagramtool0
//= require diagramtool/diagramtool1
//= require diagramtool/diagramtool2
<%= javascript_include_tag "diagrams" %>