我在我的rails应用程序中部署bx-slider时遇到问题在heroku.slider中部署它在localhost中正常工作但在heroku中它没有显示控件图标,每次我点击下一张幻灯片它都会到达最后一个滑动。
我的网页网址是>>> http://mayank-listenloop.herokuapp.com/presentations/1
如果有人知道如何解决,请帮助我。
答案 0 :(得分:2)
生产中Rails资产管道的默认行为是将哈希附加到每个资产的末尾。这允许浏览器缓存资产,但在资产发生变化时被迫下载它们。由于您的CSS直接引用了图像文件,因此找不到附加哈希的生产版本。
有两种方法可以解决这个问题。第一种是修改滑块附带的CSS。在bxSlider CSS中,找到包含
的行url(/assets/bx_loader.gif)
和
url(/assets/controls.png)
将url
更改为image-url
。将.scss
附加到CSS文件名的末尾,以便Sprockets预处理器将image-url
转换为正确的文件名,并附加缓存哈希。
或者,您可以使用已经修改为与Rails一起使用的bxslider-rails gem。 (例如,参见CSS中的this use of image-url
。)为此,只需将其添加到您的Gemfile中:
gem 'bxslider-rails'
并运行bundle install
。
特定于Rails的gem方法对我来说似乎更受欢迎,因为它可能会维护gem,因此您无需重复CSS修改即可获得升级。