Rails不能要求同一文件夹中存在的javascript文件

时间:2017-04-06 13:32:37

标签: javascript ruby-on-rails

刚刚部署了一个Rails 5.x应用程序并安装了一个主题。主题的内容位于app/assets/javascripts/theme-jsapp/assets/stylesheets/theme-files文件夹中。

app/assets/javascripts/application.js文件内包含以下内容:

//= require jquery
//= require jquery_ujs
//= require_tree .

// Required for the SmartAdmin theme
//= require theme-js/app.config.js.erb
//= require theme-js/app.js

app/assets/javascripts/theme-js文件夹内部有以下文件(包含在主题中):

  • app.config.js.erb
  • app.js
  • 的application.js

我遇到的问题是application.js文件中包含一行说明://= require app.config,但是Rails会生成错误,说明以下内容:

  

无法找到类型为'application / javascript'的文件'app.config'

尽管app.config.js.erbapplication.js位于同一文件夹中。有什么理由会发生这种情况吗?无法弄清楚为什么这不起作用。我甚至尝试了//= require app.config.js//= require app.config.js.erb,但其中任何一个都没有效果。

我注意到//= require ./app.config似乎有效,而//= require app,config却没有。也许是Rails 5.x的新东西?除非我遗漏了什么,否则我必须修改所有需要的语句以适应这种情况。

1 个答案:

答案 0 :(得分:0)

问题解决了。只需将自定义theme-jstheme-css文件夹添加到资产管道,以便Rails可以在使用//= require <file>时搜索这些文件夹中的相应文件。假设这是我需要做的,虽然我不确定这是否是最好的做法。