无法正确编译和部署rails资产

时间:2014-04-29 05:02:47

标签: ruby-on-rails ruby

我不确定我做错了什么......

这是在暂存环境中。我在app / assets / stylesheets / styles.css.scss中说:

.logo-div {

background-image:image-url("logo_white.png");

}

我还有app / assets / images / logo_white.png。

当我运行bundle exec rake资产时:预编译我会在我的public / assets文件夹中获得已编译的application.css文件以及logo_white.png(logo_white-204b61bda69f4aae0c9bb35ca909cdc2.png)文件的指纹版本,但图像 - url无法正确转换,而是以:

background-image:url(/images/logo_white.png)
我希望它看起来像这样:

background-image:url(/assets/logo_white-204b61bda69f4aae0c9bb35ca909cdc2.png)

任何人都知道为什么这不起作用?

2 个答案:

答案 0 :(得分:0)

当Rails无法找到指定的文件时,您将获得/images/(而不是/assets/)中文件的引用。

我会仔细检查此logo_white.png的拼写和文件位置 - 确保它位于/app/assets/images并且拼写不同(例如。logo-white.png或{{ 1}}或logo__white.png

答案 1 :(得分:0)

如果文件logo_white.png位于除images /之外的其他目录中,则需要添加到application.rb:

config.assets.paths << "#{Rails.root}/app/assets/gallery"