如何将Galleria插件与Rails4管道一起使用



我最近在让Galleria插件与Rails4 Pipeline一起工作时遇到了一个问题,我花了一段时间才弄清楚如何让它工作,所以我想分享解决方案,以防有人遇到类似的问题。

1) 下载插件后,将galleria-1.3.3.js(它是我编写当天的当前版本)和galleria.classic.js(或其他样式的js文件)放入vendor/assets/javascripts

2) 将galleria.classic.css(或其他主题样式表)放入vendor/assets/stylesheets

3) 将//= require galleria-1.3.3//= require galleria.classic添加到您的application.js文件,将*= require galleria.classic添加到application.css文件

4) 资产管道将指纹添加到图像中,这使得很难通过普通的css访问它们,因此需要将"scs"添加到galleria样式表中,如galleria.classic.css.scss,并将url(classic-map.png)更改为asset_url("classic-map.png");,第二个图像也是如此。

5) 打开galleria.classic.js文件,找到css:"galleria.classic.css"或类似的文件,然后将其更改为css: false

6) 现在,您只需要为一些js文件中的其他元素添加Galleria.run('#galleria');或其他不同的内容就可以了:)

附言:我是Rails的一个新手,可能会犯一些愚蠢的错误,但我希望这对任何人都有帮助:)

我刚刚在Rails4.1以及Galleria 1.3.5版本中使用过它。将文件从galleria主文件夹复制到各个部分。请注意,我使用的是经典/默认(免费)主题。

# app/assets/images
classic-loader.gif
classic-map.png
# app/assets/javascripts
galleria-1.3.5.js
galleria.classic.js
# app/assets/stylesheets (rename with .scss extension)
galleria.classic.css.scss

打开galleria.classic.js,并将行css: '...'编辑为css: false(如果不更改代码,请围绕行17)。

这就是我所要做的,以便让它与Rails4一起工作。我试着把文件放在vendor/assets文件夹中,但很快就变成了噩梦。我发现上面的解决方案是最简单/最干净的。

更新:2016-02-02

我仍然使用Ruby 2.2.3、Rails 4.2.4、Galleria 1.4.2的相同设置。

确保在galleria.classic.scss样式表中使用了image-url("classic-map.png")帮助程序。当前设置没有问题。

谢谢你,这真是太棒了,正是我所需要的(我希望我能在18个小时的拔头发之前找到它,让它发挥作用)!

我将添加更多可能对任何人都有帮助的内容:

1) 我不得不改为galleria.css.scss.erb,这样它就会插入类加载器,如下所示:background:url(<%=asset_path"/galleria/classic-loader.gif"%>)(不确定为什么,但asset_url对我不起作用)

2) 相关的,我还必须拍摄经典的地图和加载程序图像,并将它们放在应用程序/资产/图像中

3) 根据Galleria的说法,我移动的文件是min.js文件,而不是普通的.js

4) 在视图的标题中,我添加了:

<script src="<%= asset_path "/galleria-1.3.5.min.js" %>" ></script>
<script src="<%= asset_path "/galleria.flickr.min.js" %>" ></script>
<script src="<%= asset_path "/galleria.classic.min.js" %>" ></script>

5) 在每个视图加载Galleria的脚本中,我修改了他们的指令,比如:

Galleria.loadTheme("<%= asset_path "/galleria.classic.min.js" %>");

最新更新