0

我的 /views/layouts/ 文件夹中有一个侧边栏文件,其中有一个可在 /assets/images/ 访问的标题图像但是,当我转到localhost:3000/books/new侧边栏时,标题图像无法显示。查看终端,它正在 /books/assets/images/ 中寻找标题图像

有没有办法快速修复此错误而无需将我的图像复制到新文件夹中?

__sidebar.html.haml

%img#menu-image{src: "assets/books.png"}
.pure-menu.pure-menu-open#menu-bottom.button-color
  %ul
    %li
      =link_to 'Home', root_path
    %li
      =link_to 'About', about_path
    %li
      =link_to 'Find Textbooks', search_path
    %li
      =link_to 'List your Textbooks', new_book_path

应用程序.html.erb

<!DOCTYPE html>
<html>
<head>
  <title>Bookweb</title>
  <%= stylesheet_link_tag    "application", media: "all", "data-turbolinks-track" => true %>
  <%= javascript_include_tag "application", "data-turbolinks-track" => true %>
  <%= csrf_meta_tags %>
  <%= favicon_link_tag 'favicon.ico' %>
</head>
<body>

<div class="pure-g-r" id="main-pad">
  <div class="pure-u" id="menu">
    <%= render 'layouts/sidebar' %>
  </div>
  <div class="pure-u-1" id="main">
    <%= yield %>
  </div>
</div>

</body>
</html>
4

2 回答 2

1

在 Rails 中,如果您需要在页面上引用资产,您应该使用资产助手。在这种情况下,您可以更改该行:

%img#menu-image{src: "assets/books.png"}

%img#menu-image{src: "#{image_path('books.png')}"}
于 2013-09-06T05:06:05.450 回答
1

Rails 提供了大量的视图助手来帮助您轻松地生成 HTML。其中之一是image_tag

像这样使用它:= image_tag 'books.png', :id => 'menu-image'

于 2013-09-06T05:14:13.807 回答