ruby-on-rails - 在推送到 heroku 后,我的大部分 Assets 突然返回 404

标签 ruby-on-rails ruby deployment heroku asset-pipeline

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

enter image description here

为什么会突然发生这种事?我的 application.rb 内容包括 config.assets.enabled = true - 从来没有任何问题。

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

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

有趣的是,在将文件复制过来尝试制作一个新应用程序之后,git commit 会生成您期望的所有内容以及我认为可能是的一长串内容相关:

enter image description here

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

最佳答案

在 config/environments/production.rb 中添加行

config.assets.compile = true

它的工作原理是它会在运行时编译 Assets ,就像在开发环境中一样,但它会使应用程序变慢,最好的方法是在生产环境中使用 rake 任务在本地编译 Assets (RAILS_ENV=production bundle exec rake assets :precompile) 并将生成的 Assets 提交到 public/assets 中,然后进行部署。或者,heroku 运行 rake assets:precompile

关于ruby-on-rails - 在推送到 heroku 后,我的大部分 Assets 突然返回 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16669991/

相关文章:

mysql - Rails 控制台通过 id 数组查找用户

ruby-on-rails - 使用rails和backbone.js的应用程序的好例子,通过主干处理身份验证

ruby-on-rails - 在 windows 和 linux 环境中共享 Gemfile.lock

ruby-on-rails - ruby on rails 中的 Bootstrap 模式不起作用

ruby - 无法加载 ruby​​ gem,在 IRB 中使用 require 方法

Ruby - 发送带有 header 的 GET 请求

c - 在 Debian 上运行 C 程序的问题

ruby-on-rails - 隐藏 Rails 模型属性

java - 将 uaa 部署到 tomcat 时无法解析占位符 'login.serviceProviderKey'

ruby-on-rails - Capistrano 部署瘦服务器