Rails返回MIME类型为“text / html”的.js

时间:2014-04-13 07:57:56

标签: ruby-on-rails mime-types

我建立了一个网站。 在开发模式下,它很好地服务于.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?

1 个答案:

答案 0 :(得分:8)

我找到了答案。问题是/javascripts/items.jscontroller-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