Galleria JS没有使用Rails管道进行生产

时间:2013-02-20 17:06:16

标签: javascript ruby-on-rails asset-pipeline galleria

我正在我的rails应用程序中运行Galleria.IO的JavaScript库,一切都在开发中很好用,并且在我专门包含Galleria代码的页面上生产。但是当你点击没有代码的页面时,它会不断抛出错误,如

No theme CSS loaded
Fatal error: Theme CSS could not load after 20 sec. Please download the latest theme at http://galleria.io/customer/

我在我的管道中包含了galleria文件:

// application.js
//= require galleria.min
//= require galleria.classic.min

/* application.css
*= require galleria.classic
*/

以下确实在有#galleria元素的页面上正确初始化了库,但在其他地方抛出了上述错误:

if ($("#galleria").length == 1) {
        Galleria.loadTheme('/assets/galleria.classic.min.js');
        Galleria.configure({
            debug: false,
            // imageCrop: true,
            dummy: '/assets/fallback/large_default.png',
            transition: 'fade'
        });
        Galleria.run('#galleria');
    }

有没有办法让主题自动加载到资产管道中,而不必单独初始化它?

1 个答案:

答案 0 :(得分:3)

听起来你应该只加载一个主题!

将以下内容放入app / assets / javascripts / galleria_setup.js:

    Galleria.loadTheme('/assets/galleria.classic.min.js');
    Galleria.configure({
        debug: false,
        // imageCrop: true,
        dummy: '/assets/fallback/large_default.png',
        transition: 'fade'
    });

然后将您的清单更改为

// application.js
//= require galleria.min
//= require galleria.classic.min
//= require galleria_setup

然后当你想要实际启动时:

if ($("#galleria").length == 1) {
    Galleria.run('#galleria');
}