在Rails 3.1中动态创建CSS背景图像应用程序无法正确链接

时间:2011-11-10 19:31:45

标签: ruby-on-rails css

我试图通过javascript在我的Rails应用程序中动态创建div。但是,divs背景图像没有正确链接。我知道Rails会在图像中搜索预加载的css文件。例如,在我的主要css文件中,我只是

html, body{
 background-image:url('bg.png');
}

但是,当我使用以下代码动态创建div时。

        $("<div>").addClass("icon").css("background-image", "url(" + this.model.get('icons')[i] + ")").appendTo(this.el);

找不到图像。我是否必须使用相对网址,例如'/ assets / images / ...'?

非常感谢任何帮助。谢谢!

2 个答案:

答案 0 :(得分:1)

样式表与模板文件的工作方式不同。 您需要在图像中放置完整路径以尝试:

background-image:url('/images/bg.png');

答案 1 :(得分:1)

事实证明我必须将背景图像设置为

        $("<div>").addClass("icon").css("background-image", "url('/assets/icon_genes.png')").appendTo(this.el);

显然,Rails将所有图像存储在/ assets /而不是/ assets / images /。