2013-03-28 48 views
9

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

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

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

任何人都可以点我在正确的方向?

+0

你是如何预编译的?您是否使用资产同步宝石或预编译本地第一或.... – drhenner

+0

我已经有一段时间Heroku这个应用程序现在,它总是做一个资产:预编译为'git push heroku主'部署过程。 ctshryock答案为我解决了它。 – SteveO7

回答

16

如果按照这个指南(Getting Started with Rails 4.x on Heroku昨天下午(2013年3月27日),那么你很可能需要您的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

+0

解决了它,谢谢! – SteveO7

+2

没有帮助我。仍然有相同的问题。不好玩。 – courtsimas

14

我相信这个解决方案已经更新,Heroku已经用和rails3_serve_static_assets替换为rails_12factor。见here。现在

,你应该把这个在您的Gemfile:

gem 'rails_12factor', group: :production 

然后运行bundle installgit push heroku

+2

不只是一种信念,这是解决方案! – Attilio