使用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中,这对我来说不是问题。
非常感谢任何帮助!
答案 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需要这个?