bx-slider在heroku中无法正常使用rails

时间:2014-05-25 03:58:38

标签: jquery ruby-on-rails heroku bxslider

我在我的rails应用程序中部署bx-slider时遇到问题在heroku.slider中部署它在localhost中正常工作但在heroku中它没有显示控件图标,每次我点击下一张幻灯片它都会到达最后一个滑动。

我的网页网址是>>> http://mayank-listenloop.herokuapp.com/presentations/1

如果有人知道如何解决,请帮助我。

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修改即可获得升级。