如何在css中设置rails中的背景图像?

log*_*esh 49 css ruby-on-rails background-image ruby-on-rails-3 ruby-on-rails-3.2

我正在使用rails 3.2,我必须为其中一个页面设置背景,我已经尝试了很多方法,没有什么是正确的,所以寻找一些好的帮助.我试过了

background: url(<%= asset_path 'background.jpg' %>)

background: url("public/background.jpg");

background-image:url('/assets/images/background.jpg')
Run Code Online (Sandbox Code Playgroud)

没有任何效果.请帮我.

Raj*_*Das 36

在你的CSS中:

background-image: url(background.jpg);
Run Code Online (Sandbox Code Playgroud)

要么

background-image: url(/assets/background.jpg);
Run Code Online (Sandbox Code Playgroud)

在environments/production.rb:

# Disable Rails's static asset server (Apache or nginx will already do this)  
config.serve_static_assets = false

# Compress JavaScripts and CSS  
config.assets.compress = true

# Don't fallback to assets pipeline if a precompiled asset is missed  
config.assets.compile = false

# Generate digests for assets URLs  
config.assets.digest = true
Run Code Online (Sandbox Code Playgroud)


ern*_*brn 21

对于sass(s​​css),此代码适用于以下图像路径

应用程序/资产/图像/ pictureTitle.png

body { 
  background-image: image-url('pictureTitle.png'); 
}
Run Code Online (Sandbox Code Playgroud)

您可能还需要重新启动rails服务器.


Bac*_*uty 9

如果您的公共目录中有图像,如public/bg.jpg

background-image: url('/bg.jpg')
Run Code Online (Sandbox Code Playgroud)

如果你有app/assets/images/bg.jpg中的图像

 background-image: url('/assets/bg.jpg')
Run Code Online (Sandbox Code Playgroud)


J.R*_*bbs 5

这个问题有很多答案,我想我应该提出我的解决方案,它解决了最初的问题,因为他们最初尝试使用 ERB 助手等:

按照上面来自 Kangkyu 的链接,我了解到可以将 .erb 文件扩展名添加到我的 .css 文件中。这绝对是康奎所做的。

应用程序.css.erb

这使我可以访问辅助方法。

我没有费力地找出图像的正确路径,而是使用了:

<%= asset_path "image_name.png" %>
Run Code Online (Sandbox Code Playgroud)

所以我的 CSS 属性/值对如下所示:

background-image: url(<%= asset_path 'foo.jpg' %>);
Run Code Online (Sandbox Code Playgroud)