Turbaroinks与载波图像作为CSS背景图像

时间:2013-11-18 15:17:05

标签: ruby-on-rails ruby-on-rails-3.2 carrierwave turbolinks

我今年一直在使用turbolinks,但最近我遇到了这个烦人的bug。通过carrierwave上传的图像在第一个请求中以绝对URL加载到站点中,但是当您通过turbolinks开始在站点中浏览时,所有载波图像都会更改为相对路径。 <%= image_tag“image.jpg%>元素工作正常,但图片作为CSS背景图片加载,它们不会出现。这显然只发生在chrome上(我有Versión31.0.1650.57米)。我通过控制台进行跟踪,所有图像都加载到文档中,所以我去了Inspector并禁用/启用了特定元素的属性'background-image',并且发生了魔法:图像出现了。

我正在使用rails 3.2.14,带有turbolinks:

gem 'turbolinks', '1.3.1'
gem 'jquery-turbolinks', '2.0.1'

我已经在Firefox 25.0.1上对此进行了测试,它运行正常。

有什么建议吗?感谢

1 个答案:

答案 0 :(得分:15)

我只是想通了,如果你使用绝对网址的背景图片,那就是bug dessapears。 这就是我在帮助器中调用carrierwave图像的方式:

img = ProductImage.find(id) 
"#{request.protocol}#{request.host_with_port}#{img.photo}"

photo是与carrierwave uploader一起使用的属性。