我正在使用Rails 4应用程序。我在“vendor / assets / javascripts”中安装了一些JavaScript插件文件,在“app / assets / javascripts”中安装了一些JavaScript插件文件,其中有一些文件正在调用供应商文件中的方法。
没有识别出这些方法,似乎在“vendor / assets / javascripts”文件之前加载了“app / assets / javascripts”文件。我该如何处理?
有关我的“application.js”调用的信息:
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require rails.validations
//= require_tree .
我正在使用gem 'jquery-rails'
。
答案 0 :(得分:5)
必须在“application.js”中明确要求您所需的供应商树中的所有文件。它将使用“require_tree”拉入“app / assets /”树中的所有JavaScript。
您可能需要更新文件以查找更像这样的内容:
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require rails.validations
//= require that_file_from_vendor_assets
//= require that_other_file_from_vendor_assets
//= require_tree .
其中that_file_from_vendor_assets
是您需要在到达“app / assets / javascript”文件之前加载的供应商JavaScript。
答案 1 :(得分:1)
只需更改
//=require_tree .
像这样:
//= require_self
然后按照您将文件放入application.js
文件的顺序导入文件。
不要忘记布局文件中的<%= javascript_include_tag "application"%>
。