Heroku静态资产

时间:2013-05-11 15:01:30

标签: ruby-on-rails ruby heroku production-environment

在Heroku上,我收到at=error code=H10 desc="App crashed" method=GET path=/favicon.ico路由错误。

在本地,我 收到ActionController::RoutingError (No route matches [GET] "/favicon.ico"):路由错误。

我通过将config.serve_static_assets =设置为TRUE并运行rake assets:precompile来解决本地问题。

我无法解决Heroku上的问题。我推送了更新版本并运行heroku run rake assets:precompile无效。

这让我疯了......一个缩略图标位于我和成功的部署之间。任何建议都将不胜感激!

完整的heroku日志转储:

2013-05-11T17:08:14.869656+00:00 heroku[web.1]: State changed from crashed to starting
2013-05-11T17:08:16.053848+00:00 heroku[web.1]: Starting process with command `bundle exec rails server -p 44239`
2013-05-11T17:08:18.803969+00:00 app[web.1]: DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/config/environment.rb:5)
2013-05-11T17:08:18.804053+00:00 app[web.1]: DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/config/environment.rb:5)
2013-05-11T17:08:20.523845+00:00 app[web.1]: => Booting WEBrick
2013-05-11T17:08:20.524082+00:00 app[web.1]:    from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.13/lib/rails/initializable.rb:55:in `block in run_initializers'
2013-05-11T17:08:20.524082+00:00 app[web.1]:    from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.13/lib/rails/application.rb:136:in `initialize!'
2013-05-11T17:08:20.523845+00:00 app[web.1]: => Call with -d to detach
2013-05-11T17:08:20.523845+00:00 app[web.1]:    from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:312:in `depend_on'
2013-05-11T17:08:20.524353+00:00 app[web.1]:    from /app/config/environment.rb:5:in `<top (required)>'
2013-05-11T17:08:20.523845+00:00 app[web.1]: => Rails 3.2.13 application starting in production on http://0.0.0.0:44239
2013-05-11T17:08:20.524082+00:00 app[web.1]:    from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.13/lib/rails/engine.rb:438:in `block in eager_load!'
2013-05-11T17:08:20.524353+00:00 app[web.1]:    from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.13/lib/rails/railtie/configurable.rb:30:in `method_missing'
2013-05-11T17:08:20.523845+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:317:in `rescue in depend_on': No such file to load -- Digest (LoadError)
2013-05-11T17:08:20.524082+00:00 app[web.1]:    from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.13/lib/rails/initializable.rb:54:in `run_initializers'
....
2013-05-11T17:08:21.668731+00:00 heroku[web.1]: State changed from starting to crashed

更新好主人,这完全是由于要求'摘要'的大写字母'D'...已经下降,一切正常。那是我生命中的几个小时,我永远不会回来。

1 个答案:

答案 0 :(得分:1)

当您设置config.serve_static_assets = false并尝试bundle exec rake assets:precompile RAILS_ENV=production时会发生什么?还有以下config.assets.compile设置为true

另一个注意事项我注意到你将favicon放在公共目录中。我可以通过在layouts/application.html.erb

中执行以下操作来设置我的图标
<!DOCTYPE html>
<html>
    <head>
        <title><%= home_title %></title>
        <%= stylesheet_link_tag "application" %>
        <%= javascript_include_tag "application" %>
        <%= csrf_meta_tag %>
        <link rel="icon" href="<%= image_path 'icon.ico' %>" type="image/ico" />
        <link rel="shortcut icon" href="<%= image_path 'icon.ico' %>" type="image/ico" />
    </head>

你会注意到我的icon.ico。我的icon.ico位于我的app / assets / images目录中。