在我的Rails应用程序中,我有css和js,这对于每个动作都是独一无二的。
所以users#new有自己的css。它叫users_new.css.scss。
我把我的应用程序部署到Heroku,Heroku没有加载任何资产。您可以看到错误这里。如何解决这个问题,使Heroku能够正确地预编译和加载资产?
我读过Heroku关于使用资产管道的文档,但没有看到任何解决方案。
发布于 2014-09-01 08:11:47
Precompilation
问题是你的timelines_index.js不是预编译

您可以判断这是一个问题,当您调用layout中的资产(我猜想您正在使用正确的路径助手)时,Rails将自动引用该文件的最新预编译版本(因此application.js有附加的MD5指纹)。
我相信您需要将自定义文件添加到您的precompiled_assets数组中:
#config/environments/production.rb
Rails.application.config.assets.precompile += ['timelines_index.js']这将使Rails能够单独预编译这些资产,允许您在布局中调用它们:
#app/views/layouts/application.html.erb
<%= javascript_include_tag "timelines_index" %>对于您希望在布局中调用的所有自定义资产文件,都必须这样做。
清单
正如Anil所提到的,您可能希望使用Rails的manifest系统将所有资产文件连接到各自的application文件中。
这将消除将文件附加到Rails precompile数组的需要,允许您为各种资产调用单个文件:
#app/assets/javascripts/application.js
//= require_tree .发布于 2014-09-01 06:14:03
添加您的Gemfile
gem 'rails_12factor', group: :productionhttps://stackoverflow.com/questions/25599651
复制相似问题