首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在推送到heroku之后,我的大部分资产突然返回404

在推送到heroku之后,我的大部分资产突然返回404
EN

Stack Overflow用户
提问于 2013-05-21 20:26:34
回答 6查看 11.4K关注 0票数 18

我已经部署了这个应用程序(rails 3.2.11)一百万次,我没有弄乱任何设置,但现在我得到了这样的欢迎:

为什么会突然发生这样的事情?我对application.rb的不满包括config.assets.enabled = true --从来没有遇到过任何问题。

实际上,在本地3000端口上运行它似乎没有任何问题。

在今天早上部署到heroku之后,它似乎没有加载任何内容/assets/

有趣的是,在复制文件并创建一个新的应用程序后,git commit会产生你所期望的所有东西,以及一长串我认为可能相关的东西:

编辑:有趣的是,一些资源已经加载,如徽标和背景,但其余的如您所见,返回404。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2014-08-13 02:46:38

我今天在heroku上用rails 4遇到了这个问题。@Jeff提供的这篇文章有点旧,但是,the gem repository有一个很好的自述文件。总而言之,您需要向Gemfile中添加两个gem:

  1. gem 'rails_serve_static_assets' (它将解决静态资产问题) and
  2. gem 'rails_stdout_logging' (前一个依赖于它)。
票数 9
EN

Stack Overflow用户

发布于 2013-05-21 21:44:29

在config/environment/production.rb中放置一行

代码语言:javascript
复制
config.assets.compile = true

它的工作原理是在运行时编译资产,就像在开发环境中一样,但它会使应用程序变慢,最好的方法是在生产环境中使用rake task(RAILS_ENV=production捆绑包执行rake assets :预编译)本地编译资产,并将生成的资产提交到公共/资产中,然后进行部署。或者,heroku运行rake资源:预编译

票数 15
EN

Stack Overflow用户

发布于 2014-01-01 04:19:56

Heroku发布了一个gem来处理资产,而不需要关闭编译或手动编译。

https://devcenter.heroku.com/articles/ruby-support#static-assets

只需将其添加到Gemfile并重新部署即可。

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

https://stackoverflow.com/questions/16669991

复制
相关文章

相似问题

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