【问题标题】:Asset routing error on Heroku after Rails 4 updateRails 4 更新后 Heroku 上的资产路由错误
【发布时间】:2013-03-28 19:02:56
【问题描述】:

我刚刚将我的应用更新到 Rails 4.0.0.beta1 和 Ruby 2.0.0。这是一个相当简单的应用程序,更新在开发过程中进展顺利,但是当我部署到 Heroku 时,我在预编译资产上遇到了路由错误。

ActionController::RoutingError (No route matches [GET] "/assets/application-ec10cb548646d3f1c9963e6071fd834f.css"):

ActionController::RoutingError (No route matches [GET] "/assets/application-f6ecf7845034937996ac1e966af347b9.js"):

谁能指出我正确的方向?

【问题讨论】:

  • 你是如何预编译的?您是使用资产同步 gem 还是先在本地预编译还是......
  • 我已经在 Heroku 上安装了这个应用程序有一段时间了,它总是做一个 assets:precompile 作为 'git push heroku master' 部署过程的一部分。 ctshryock 答案为我解决了。

标签: ruby-on-rails heroku


【解决方案1】:

如果您在昨天下午 (2013-03-27)之前遵循了本指南 (Getting Started with Rails 4.x on Heroku),那么您可能需要将 Gemfile 更改为:

group :heroku do
  gem 'rails_log_stdout',           github: 'heroku/rails_log_stdout'
  gem 'rails3_serve_static_assets', github: 'heroku/rails3_serve_static_assets'
end

简单地说:

gem 'rails_log_stdout',           github: 'heroku/rails_log_stdout'
gem 'rails3_serve_static_assets', github: 'heroku/rails3_serve_static_assets'

(可选)将:heroku 切换为:production

【讨论】:

  • 没有帮助我。仍然有同样的问题。没有乐趣。
【解决方案2】:

我相信此解决方案已更新,Heroku 已将 rails_log_stdoutrails3_serve_static_assets 替换为 rails_12factor。见here

现在,你应该把它放在你的 GemFile 中:

gem 'rails_12factor', group: :production

然后运行bundle installgit push heroku

【讨论】:

  • 不只是一种信念,这就是解决方案!
猜你喜欢
  • 2017-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-23
相关资源
最近更新 更多