Rails没有在生产中加载文件

时间:2014-06-20 09:12:04

标签: ruby-on-rails asset-pipeline

当我在localhost上切换到生产时,Rails不会加载开发中加载的文件。

因此,当我使用开发时,会加载这些文件:

<script src="/assets/foundation/foundation.js?body=1" type="text/javascript"></script>
<script src="/assets/foundation/foundation.alerts.js?body=1" type="text/javascript"></script>
<script src="/assets/foundation/foundation.clearing.js?body=1" type="text/javascript"></script>
<script src="/assets/foundation/foundation.cookie.js?body=1" type="text/javascript"></script>
<script src="/assets/foundation/foundation.dropdown.js?body=1" type="text/javascript"></script>
<script src="/assets/foundation/foundation.forms.js?body=1" type="text/javascript"></script>
<script src="/assets/foundation/foundation.joyride.js?body=1" type="text/javascript"></script>
<script src="/assets/foundation/foundation.magellan.js?body=1" type="text/javascript"></script>
<script src="/assets/foundation/foundation.orbit.js?body=1" type="text/javascript"></script>
<script src="/assets/foundation/foundation.reveal.js?body=1" type="text/javascript"></script>
<script src="/assets/foundation/foundation.section.js?body=1" type="text/javascript"></script>
<script src="/assets/foundation/foundation.tooltips.js?body=1" type="text/javascript"></script>
<script src="/assets/foundation/foundation.topbar.js?body=1" type="text/javascript"></script>
<script src="/assets/foundation/foundation.interchange.js?body=1" type="text/javascript"></script>
<script src="/assets/foundation/foundation.placeholder.js?body=1" type="text/javascript"></script>
<script src="/assets/foundation/foundation.abide.js?body=1" type="text/javascript"></script>
<script src="/assets/foundation/index.js?body=1" type="text/javascript"></script>
<script src="/assets/top_feed.js?body=1" type="text/javascript"></script>
<script src="/assets/application.js?body=1" type="text/javascript"></script>

但是当我使用生产时,文件没有加载,scss没有解释,只有纯css行而且我得到了错误

  

Sprockets :: FileNotFound in Home #index - 找不到文件&#39;基础&#39;   这是预编译错误吗?如果有人能指出我正确的方向。

在production.rb中:config.serve_static_assets = true

如果我添加config.assets.precompile = ['*.js', '*.css', '*.css.erb']它没有做任何事情。

1 个答案:

答案 0 :(得分:0)

如果要在每个页面加载

,您必须在application.js中要求foundation文件夹。
# application.js
...
//= require_tree foundation

或为js创建一个新的清单文件,并将其添加到预编译中。

# foundation.js
//= require_tree foundation

# config/environments/production.rb
config.assets.precompile += %w(foundation.js)

# in your view or main layout
= javascript_include_tag "foundation"