我正在尝试安装一个名为 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)
我已将其包含在我的 View 中
<%= javascript_include_tag 'chaffel.min' %>
并添加了示例中显示的所有 html/javascript,但是当我加载 View 时,它给了我这个错误
Sprockets::Rails::Helper::AssetNotFound in Home#index
The asset "chaffel.min.js" is not present in the asset pipeline.
我不知道这是否是我的 Assets 管道的问题,或者插件是否不再工作(因为其页面上的 cdn src 似乎也不起作用)希望得到一些帮助,或者建议使用不同的插件/方式来实现相同的效果(文本随机播放动画)。
我可以通过直接包含文件来使其在普通的 html 文件中工作
<script src="chaffle.min.js" charset="utf-8"></script>
所以这肯定是我的代码/ Assets 管道的问题,而不是插件的问题。
最佳答案
首先,如果您的 application.js 中有 //= require_tree .
,则无需更改任何其他文件。 //= require_tree .
将为您包含 javascript 目录中的所有文件:
http://guides.rubyonrails.org/asset_pipeline.html#manifest-files-and-directives
但是你所面临的问题,我猜只是一个拼写错误:chaffle/chaffel。但同样,只需清除所有提及它的内容并仅保留 require_tree - 这应该就足够了。
关于ruby-on-rails - 在 asset/javascripts 中找不到 Rails javascript 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45900161/