Rails:如何在Javascript中访问图像?

时间:2012-10-02 10:08:06

标签: ruby-on-rails

我是Rails的新手并且有一个小问题:

如何在Javascript中访问图像? SCSS,ERB,...有类似“image_path”的方法,但我没有找到类似的Javascript。

我需要它来指定firefly插件的图像URL:

$.firefly({images : ['???/1.jpg', '???/2.jpg'],total : 40});    

2 个答案:

答案 0 :(得分:4)

如果/app/assets/images/中的图片只需使用

即可
/assets/1.jpg

同样在css中,您可以使用

url(/assets/1.jpg)

在javascript中使用时,您可以遵循相同的操作。

$.firefly({images : ['/assets/1.jpg', '/assets/2.jpg'],total : 40}); 

注意:当rails应用程序位于子目录中时,上述方法会导致问题。在那种情况下使用相对路径。资产预编译将编译公共/资产目录中的所有资产。所以你的结构可能是这样的:

公共 -资产 - 图片 --- 1.png --javascripts --stylesheets ---的style.css

所以从style.css开始,您可以使用../images/1.png

之类的相对路径

答案 1 :(得分:2)

当我需要这样做时,我在 div#class 下插入了页面上所需的任何图像,并将该类设置为隐藏在我的CSS中。然后,在javascript中,我可以从该div访问图像。

可能不是理想的解决方案,但由于资产管道而无法想到其他任何问题。

此外,尝试从./assets/image_name.jpg

访问图像