Galleria幻灯片可在本地服务器上运行,而不是在实时服务器上运行

时间:2013-07-10 18:13:10

标签: ruby-on-rails galleria

我正试图在我的rails应用程序中启动并运行Galleria幻灯片。它适用于本地服务器(在Chrome和Firefox上),但不能在实时服务器上运行(在Chrome或Firefox上)。在Chrome中,幻灯片在加载前会短暂闪烁(可能是.25秒?),然后才会离开。在Firefox中,它根本就不会出现。 当我查看Chrome上的inspect元素时,在网络选项卡下,它表示由于404错误而取消了galleria.classic.css。

我在我的应用程序中有以下代码:(请注意,最初,我在页面上有其他代码,但我将幻灯片显示为仅限管理员的页面,因此我可以在不弄乱面向客户端的内容的情况下检查它这就是页面上的所有内容。它在面向客户端的页面或管理页面上都不起作用。

在视图中:

<head><link rel="stylesheet" type="text/css" href="assets/libs/galleria/themes/classic/galleria.classic.css"></head>
<body>
  <div id="slideshow">
    <div id="galleria">
        <%= image_tag("pic1_url")%>
        <%= image_tag("pic2_url")%>
        <%= image_tag("pic3_url")%>
    </div>
    <script>
        $('#galleria').galleria();
    </script>
  </div>
</body> 

在我的application.css样式表中,我有:

 *= require_self
 *= require galleria/themes/classic/galleria.classic
 *= require_tree .
 */

在我的application.js文件中,我有:

//= require jquery
//= require jquery_ujs
//= require jquery_nested_form
//= require galleria/galleria-1.2.9.min
//= require galleria/themes/classic/galleria.classic
//= require_tree .

我尝试过修正:

如何让Galleria工作?

1 个答案:

答案 0 :(得分:0)

当您将文件部署到生产环境时,它会将所有资产编译并收集到一个名为assets的文件夹中,因此指定的路径不起作用,因为Heroku服务器或其他路径上没有galleria/themes/classic/路径你正在使用的服务器。

因此,如果有必要,您需要在HTML文件中指定路径,如href="assets/galleria.classic.css"

但实际上是你的

*= require galleria/themes/classic/galleria.classic

//= require galleria/galleria-1.2.9.min
//= require galleria/themes/classic/galleria.classic

已经完成了,并且所有必需的代码必须位于已编译的.css.js文件中。因此,您只需从代码中删除<link rel...>部分即可。

P.S。我正在尝试避免cssjavascriptsimages文件夹中的子文件夹,因为它经常会导致像您这样的问题,并且它会使应用程序结构更加清晰。但要这样做,您需要检查插件文件,如果它们彼此之间有任何指定的路径,并删除它们中的任何/folder/subfolder/部分,只留下文件名。