我正在尝试为我的其中一个 View 提供背景图片。我已经找到有关如何执行此操作的 Rails 3 的信息,但它似乎对我不起作用。这是我使用的信息的链接:http://makandracards.com/makandra/2977-declare-different-css-background-images-for-different-locales
这是我的 welcome.css.scss:
.container {
background-image: url(images/image.jpg)
}
这里是welcome/home.html.erb:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<%= I18n.locale || 'en' %>"
lang="<%= I18n.locale || 'en'%>">
<body class="container">
</body>
</html>
最佳答案
首先,您不需要为 body
标签确定一个类 - 只需在您的 CSS 中调用 body
(并覆盖您想要背景的特定页面图片上)
其次,你需要使用asset_path
helpers :
#app/assets/stylesheets/application.css.sass
body
background:
image: asset-url("image.jpg")
这是调用它的“正确”方式,就好像您对 asset pipeline
使用 .erb
或任何其他方法一样,您有丢失的风险预编译生产 Assets 时的功能
诀窍是使用 rails Assets preprocessors允许为您的 Assets 使用动态
路径。将根据您是动态使用 Assets 还是静态使用 Assets ( in production )
考虑到您的 /assets/images
文件夹中有 image.jpg
,上面的代码应该适合您。 SCSS 版本为:
#app/assets/stylesheets/application.css.scss
body
{
background: {
image: asset-url("image.jpg");
}
}
--
更新
你可以像这样调用欢迎CSS:
#app/views/layouts/application.html.erb
...
<head>
<%= stylesheet_link_tag "welcome" if controller_name == "welcome" %>
</head>
关于html - 在 Rails 4 应用程序中为一页使用背景图片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25657847/