在assets / javascripts中找不到rails javascript文件

时间:2017-08-26 22:27:59

标签: ruby-on-rails asset-pipeline

我正在尝试安装一个名为Chaffel.js的插件,我已将其添加到我的javascript文件中

+app
|+assets
||+javacripts
|||chaffle.min.js
|||

我在application.js

中要求它
//= require chaffle.min.js
//= require rails-ujs
//= require turbolinks
//= require_tree .

我还将此添加到config / initializers / assets.rb

Rails.application.config.assets.precompile += %w(chaffle.min.js)

我已将其纳入我的观点

<%= javascript_include_tag 'chaffel.min' %>

并添加了它为示例显示的所有html / javascript但是当我加载视图时它给了我这个错误

Sprockets::Rails::Helper::AssetNotFound in Home#index
The asset "chaffel.min.js" is not present in the asset pipeline.

我不知道我的资产管道是否存在问题,或者该插件是否不再有效(因为其页面上的cdn src似乎也不起作用)会对此有所帮助或者建议使用不同的插件/方式来实现相同的效果(文本随机播放动画)。感谢先进的任何帮助。

编辑:通过直接包含文件

,能够在正常的html文件中使用它
<script src="chaffle.min.js" charset="utf-8"></script>

所以这绝对是我的代码/资产管道而不是插件的问题。

1 个答案:

答案 0 :(得分:1)

首先,如果您的application.js中有//= require_tree .,则无需更改任何其他文件。 //= require_tree .将包含javascript目录中的所有文件: http://guides.rubyonrails.org/asset_pipeline.html#manifest-files-and-directives

但是你遇到的问题,我想这只是一个错字:chaffle / chaffel。但同样,只要清除所有提及它并且只留下require_tree - 这应该足够了。