我正在Rails 3.2应用程序上工作,但不知何故,我的javascript代码执行了两次,我不知道为什么。
我已经搜索了application.js文件,它只包含在我的资产文件夹中,而不是在我的公共文件夹中。我只有每个js文件的一个副本,所以它可能不是由于资产管道。
这是我的application.js文件
//= require jquery
//= require jquery_ujs
//= require jquery_nested_form
//= require jquery.ui.all
//= require myownjs
//= require_tree .
我实际上做了一个几乎类似的项目没有jquery嵌套的形式和问题不存在,所以我的直觉告诉我,这可能是由于宝石我使用调用我的代码反复或由于我的javascript的顺序,包括,但我是新的web编程,我不确定,如果这实际上是有意义的。然而,我确实尝试删除嵌套表单的要求行,它并没有什么不同。
有人能帮我指出错误可能是什么吗?
这是另一个项目的application.js。
//= require jquery
//= require jquery_ujs
//= require jquery.ui.all
//= require myowncodes
//= require_tree .
//= require_tree .
已经包含了.
目录中的所有内容-这将是您的application.js
文件所在的任何目录(通常是/app/assets/javascripts/)。我的猜测是,您列出的许多其他文件已经在该目录中,这些条目可以从application.js
文件中删除。
或者,如果您想明确地将应该加载的文件列入白名单,那么从application.js文件中删除//= require_tree .
。
//= require_tree .
这一行将加载application.js文件文件夹中的所有文件。要完全控制正在加载的文件,您可以删除上面的行并加载所需的单个文件,或者您可以创建子文件夹并使用
//= require_directory <sub_directory_name>
这将加载该文件夹中的所有文件。这种方法将只加载您指定的文件。我建议不要使用require_tree,这样可以更好地控制应用程序加载的文件。
在这里,删除require_tree行应该可以解决您的问题。我希望能有所帮助!!