轨道可以';不需要存在于同一文件夹中的javascript文件
刚刚部署了一个Rails5.x应用程序并安装了一个主题。主题的内容位于轨道可以';不需要存在于同一文件夹中的javascript文件,javascript,ruby-on-rails,Javascript,Ruby On Rails,刚刚部署了一个Rails5.x应用程序并安装了一个主题。主题的内容位于app/assets/javascripts/theme js和app/assets/stylesheets/theme文件文件夹中 app/assets/javascripts/application.js文件的内部包含以下内容: //= require jquery //= require jquery_ujs //= require_tree . // Required for the SmartAdmin theme
app/assets/javascripts/theme js
和app/assets/stylesheets/theme文件
文件夹中
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生成了一个错误,说明以下内容:
//= require jquery
//= require jquery_ujs
//= require_tree .
// Required for the SmartAdmin theme
//= require theme-js/app.config.js.erb
//= require theme-js/app.js
找不到类型为“application/javascript”的文件“app.config”
即使app.config.js.erb
与application.js
位于同一文件夹中。这有什么原因吗?我不明白为什么这行不通。我甚至试过/=require-app.config.js
和/=require-app.config.js.erb
,但两种方法都不起作用
我注意到,/=require./app.config
似乎起作用,而/=require-app,config
则不起作用。也许是Rails 5.x的新功能?除非我遗漏了什么,否则我必须修改所有的require语句以适应它。问题解决了。只需将自定义的主题js
和主题css
文件夹添加到资产管道中,以便Rails在使用/=require
时可以在这些文件夹中搜索适当的文件。假设这就是我需要做的,尽管我不确定这是否是最佳实践。您是否将该文件添加到config/initializers/assets.rb
文件中?我的旧Rails应用程序中除了预编译资产行之外,没有任何其他内容,因此不确定是否确实需要,因为我使用的是Rails 5.x。此外,这个application.js文件中大约有100条require语句,其他一些文件中也有更多语句。