ruby-on-rails – Rails返回MIME类型为“text / html”的.js

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Rails返回MIME类型为“text / html”的.js前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我建立了一个网站.
在开发模式下,它很好地服务于.js文件.
但是,在生产模式下,会发生以下错误
Refused to execute script from 'http://bowuzhi.herokuapp.com/javascripts/items.js' because its MIME type ('text/html') is not executable,and strict MIME type checking is enabled.

http://bowuzhi.herokuapp.com/javascripts/items.js内容是html:

<div class='page-header'>
<a class="btn btn-primary" href="/zh-TW/items/new"><span class='glyphicon glyphicon-plus'></span>
New
</a><h1>Catalog</h1>
</div>
<div class='row' id='items'>
</div>
<div class='row'>
<div class='col-md-12'>

</div>
</div>
<script src="/javascripts/items.js"></script>

这个网站是在heroku:http://bowuzhi.herokuapp.com.

为什么.js原来是html?

解决方法

我找到了答案.问题是/javascripts/items.js是 controller-specified asset.它是通过在视图上使用javascript_include_tag帮助程序而不是包含在清单文件(application.js)中包含的,因此它不会被预编译.

为了解决这个问题,我将config.assets.precompile =%w(items.js)行添加到我的config / application.rb中.

您可以在此问题中找到更多信息:rails-3-1-asset-pipeline-how-to-load-controller-specific-scripts.

猜你在找的Ruby相关文章