Rails生产不显示背景图像

时间:2016-06-10 15:21:31

标签: css ruby-on-rails

我的图片未在制作中显示(链接here)。

我的代码:

_header.html.erb

<%if action_name == 'index' %>
  <div class="main_header_bg" id="main_head">
  <% end %>
   <header id='header'>
    <div class="container">
     <div class="logo">
      <%= link_to image_tag('logo.png'), root_path%>
  </div>

的main.css

.main_header_bg {
background-image: url(/header_bg.jpg);
-webkit-background-size: 100% 100%;
background-size: 100% 100%;
height: 718px;

production.log

ActionController::RoutingError (No route matches [GET] "/assets/images/header_bg.jpg"):

图片目录:

  1. 应用程序/资产/图像/
  2. 公共/资产/图像/

2 个答案:

答案 0 :(得分:1)

您是否预先编译了资产?明确地在生产环境中?这是第一次将Rails项目投入生产的人们遇到的一个非常典型的问题。

如果没有,请运行以下命令:RAILS_ENV=production bundle exec rake assets:precompile

请记住,实际文件正在此处写入,您需要重新上传应用程序才能使更改生效。

答案 1 :(得分:0)

这可能是因为asset pipeline

.main_header_bg {
  background-image: image-url("header_bg.jpg");
  -webkit-background-size: 100% 100%;
  background-size: 100% 100%;
  height: 718px;
}

因此,请将url更改为image-url并预编译并重新启动该网站。