html - 在 Rails 4 应用程序中为一页使用背景图片?

标签 html css ruby-on-rails ruby-on-rails-4

我正在尝试为我的其中一个 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/

相关文章:

mysql - Rails 事件记录带有条件排序。 mysql

html - 在浏览器上渲染 Pug (Jade)(例如 Google Chrome、Mozilla Firefox)

html - 是否可以将div的滚动条居中并溢出:scroll

javascript - 当我点击任何子 div 时,我必须触发父 div 吗?

ruby-on-rails - Capistrano 无法找到 Assets list

ruby-on-rails - finder_sql 不使用 Rails 解析字符串

javascript - js、html5、css、跨浏览器问题

html - 如何在您的网站上使用 dartscript

javascript - 为 WordPress 中的多个菜单项提供属性(无 .js)

javascript - jQuery 的神秘情况还是我瞎了眼?