Rails 4更新后Heroku上的资产路由错误

时间:2013-03-28 19:02:56

标签: ruby-on-rails heroku

我刚刚将我的应用更新为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"):

有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:16)

如果您在昨天下午(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

答案 1 :(得分:14)

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

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

gem 'rails_12factor', group: :production

然后运行bundle installgit push heroku