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

Ste*_*eO7 9 ruby-on-rails heroku

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

ActionController::RoutingError (No route matches [GET] "/assets/application-ec10cb548646d3f1c9963e6071fd834f.css"):
Run Code Online (Sandbox Code Playgroud)

ActionController::RoutingError (No route matches [GET] "/assets/application-f6ecf7845034937996ac1e966af347b9.js"):
Run Code Online (Sandbox Code Playgroud)

谁能指出我正确的方向?

cat*_*sby 16

如果按照这个指南(入门使用Rails在Heroku 4.x的)昨天下午(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
Run Code Online (Sandbox Code Playgroud)

简单地说:

gem 'rails_log_stdout',           github: 'heroku/rails_log_stdout'
gem 'rails3_serve_static_assets', github: 'heroku/rails3_serve_static_assets'
Run Code Online (Sandbox Code Playgroud)

可选地,切换:heroku:production.

  • 没帮我 仍然有同样的问题.没有什么好玩的. (2认同)

Aar*_*ray 14

我相信这个解决方案已经被更新,并Heroku的取代rails_log_stdoutrails3_serve_static_assetsrails_12factor.看到这里.

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

gem 'rails_12factor', group: :production
Run Code Online (Sandbox Code Playgroud)

然后运行bundle installgit push heroku.

  • 不仅仅是一种信念,这就是解决方案! (2认同)