如何通过Asset管道在Javascript中提供子文件夹中的图像

时间:2012-09-08 17:00:15

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

所以我在assets / javascripts文件夹中有一个文件夹,它运行一个名为galleryview的图像幻灯片。在这个文件夹里面是一个主题目录,为我的“下一个”和“前一个”按钮保存图像......

资产/ Javascript角/图库视图/主题/

现在javascript运行这个,通过这个链接到这些图像....

//Determine path between current page and filmstrip images
//Scan script tags and look for path to GalleryView plugin
        $('script').each(function(i){
            var s = $(this);
            if(s.attr('src') && s.attr('src').match(/jquery\.galleryview/)){
                img_path = s.attr('src').split('jquery.galleryview')[0]+'themes/';
            }
        });

但是,我现在在Rails应用程序中使用它,所以我需要将此img_path行指向

资产/图像/

那么我的imag_path现在应该是什么样子?

img_path = ?

这是jsfiddle上的整个javascript文件代码....复制并将其传递到编辑器中 我感兴趣的区域是389号线。

http://jsfiddle.net/thefonso/Sqmxa/

1 个答案:

答案 0 :(得分:2)

不确定此代码是否完全正常,但我认为您可以使用the image_path helper来帮助您。类似的东西:

img_path = <%= image_path 'images/'%>;

将其放在.js.erb文件中,并且应解析上面显示的ERB并输出字符串"/assets/images/",将img_path分配给值"/assets/themes/"

当然,您也可以这样做:

img_path = "/assets/images/";

...但我猜测,使用帮助器的好处是,如果“资产”路径发生变化,您将不需要更新硬编码字符串。