Glyphicons在生产轨道中没有正确预编译

时间:2014-01-13 23:45:22

标签: twitter-bootstrap heroku ruby-on-rails-4

使用Rails 4我遇到了一个问题,即Bootstrap中的glyphicons没有被正确预编译。生成以下内容:

started GET "/assets/glyphicons-halflings-white-ed38e147e3f6e976c0a7ad59e4d628f3.png" for          127.0.0.1 at 2014-01-13 18:41:25 -0500
Started GET "/assets/glyphicons-halflings-white-ed38e147e3f6e976c0a7ad59e4d628f3.png" for 127.0.0.1 at 2014-01-13 18:41:25 -0500
Processing by ApplicationController#routing_error as PNG
Processing by ApplicationController#routing_error as PNG
  Parameters: {"path"=>"assets/glyphicons-halflings-white-ed38e147e3f6e976c0a7ad59e4d628f3"}
  Parameters: {"path"=>"assets/glyphicons-halflings-white-ed38e147e3f6e976c0a7ad59e4d628f3"}
  Rendered public/404.html (0.3ms)
  Rendered public/404.html (0.3ms)
Completed 404 Not Found in 17ms (Views: 3.4ms | ActiveRecord: 8.0ms)
Completed 404 Not Found in 17ms (Views: 3.4ms | ActiveRecord: 8.0ms)

它在开发中工作正常。如果我在production.rb中设置config.assets.compile = true它似乎工作正常 - 但我理解基于这个SO问题非常糟糕: files produced by asset:precompile don't match urls generated by stylesheet_link_tag (missing digest) in minimal rails 4 site

在Rails 3.2中,这对我来说不是问题。

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:4)

将应用程序从Rails 3.2升级到4时,我遇到了同样的问题。

生产应用程序托管在Heroku上

Rails 3.2中的一切都运行良好

然而在Rails 4中,雕文在Dev中表现不错,但在制作中却没有。快速检查浏览器控制台显示404为资产路径错误。

就我而言,我需要

config.assets.precompile += [
        'twitter/bootstrap/glyphicons-halflings.png',
        'twitter/bootstrap/glyphicons-halflings-white.png'
      ]

答案 1 :(得分:2)

添加

config.assets.precompile += [
        'glyphicons-halflings.png',
        'glyphicons-halflings-white.png'
      ]

在我的application.rb中解决了这个问题。

我不确定为什么Rails 4 vs Rails 3.2需要这个?