我刚刚将我的应用更新为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"):
有人能指出我正确的方向吗?
答案 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_stdout
和rails3_serve_static_assets
替换为rails_12factor
。请参阅here。
现在,你应该把它放在你的GemFile中:
gem 'rails_12factor', group: :production
然后运行bundle install
和git push heroku
。