首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Heroku不从资产管道加载资产。

Heroku不从资产管道加载资产。
EN

Stack Overflow用户
提问于 2014-09-01 06:02:15
回答 2查看 189关注 0票数 0

在我的Rails应用程序中,我有css和js,这对于每个动作都是独一无二的。

所以users#new有自己的css。它叫users_new.css.scss

我把我的应用程序部署到Heroku,Heroku没有加载任何资产。您可以看到错误这里。如何解决这个问题,使Heroku能够正确地预编译和加载资产?

我读过Heroku关于使用资产管道的文档,但没有看到任何解决方案。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-01 08:11:47

Precompilation

问题是你的timelines_index.js不是预编译

您可以判断这是一个问题,当您调用layout中的资产(我猜想您正在使用正确的路径助手)时,Rails将自动引用该文件的最新预编译版本(因此application.js有附加的MD5指纹)。

我相信您需要将自定义文件添加到您的precompiled_assets数组中:

代码语言:javascript
复制
#config/environments/production.rb
Rails.application.config.assets.precompile += ['timelines_index.js']

这将使Rails能够单独预编译这些资产,允许您在布局中调用它们:

代码语言:javascript
复制
#app/views/layouts/application.html.erb
<%= javascript_include_tag "timelines_index" %>

对于您希望在布局中调用的所有自定义资产文件,都必须这样做。

清单

正如Anil所提到的,您可能希望使用Rails的manifest系统将所有资产文件连接到各自的application文件中。

这将消除将文件附加到Rails precompile数组的需要,允许您为各种资产调用单个文件:

代码语言:javascript
复制
#app/assets/javascripts/application.js
//= require_tree .
票数 1
EN

Stack Overflow用户

发布于 2014-09-01 06:14:03

添加您的Gemfile

代码语言:javascript
复制
gem 'rails_12factor', group: :production
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25599651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档