Heroku不从资产管道加载资产
在我的Rails应用程序中,我有每个操作都独有的css和js。Heroku不从资产管道加载资产
因此,用户#新有它自己的CSS。它的名字是users_new.css.scss
。
我将我的应用程序部署到Heroku,并且Heroku不加载任何资产。您可以看到错误here。我如何解决这个问题,使Heroku正确地预编译和加载资源?
我通过Heroku's docs on using the asset pipeline阅读,但没有看到任何解决方案。
预编译
的问题是你的timelines_index.js
不precompiled:
你可以告诉的方式,这是一个问题当您拨打中的资产时210(我认为你正在使用正确的路径帮助程序),Rails将自动引用该文件的最新预编译版本(因此application.js
为何具有附加的MD5 fingerprint)
我相信您需要添加自定义文件到您的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" %>
这个Wi必须完成所有您希望在布局中调用的自定义资产文件。
正如Anil
提到的,你不妨用Rails的manifest
系统所有的资源文件连接成各自的application
文件。
这将撤销需要将文件追加到Rails的precompile
阵列,让您调用单个文件为您的各种资产:
#app/assets/javascripts/application.js
//= require_tree .
添加在您的Gemfile
gem 'rails_12factor', group: :production
实际上看起来像页面特定的资产仍未被加载 – 2014-09-01 06:55:44
在生产模式下,集将编译在application.js文件中 – 2014-09-01 06:58:51
donot尝试显式加载css和js – 2014-09-01 07:00:28
你有(宝石“rails_12factor”,组:生产“)在你的Gemfile? – 2014-09-01 06:06:46
这将做到这一点,谢谢:) – 2014-09-01 06:10:10
张贴它作为答案,以便其他程序员可能从中受益它 – 2014-09-01 06:13:13