【问题标题】:Ruby on rails 4 assets images cannot be loadedRuby on rails 4 资产图片无法加载
【发布时间】:2014-06-01 20:32:51
【问题描述】:

目前,我在 rails 4 上使用 ruby​​。

在 html 部分,我正在尝试加载图像:

<img width="121" height="31" src="/assets/images/flatty/logo_lg.svg" />  

图片文件:logo_lg.svg 位于:app/assets/images/flatty/

我试过了:

<%= image_tag "/assets/images/flatty/logo_lg.png" %>

在 production.rb 文件中:config.serve_static_assets = true

另外,试过了:rails assets:precompile

但系统仍然找不到图像文件。

【问题讨论】:

  • 像这样加载它:

标签: ruby-on-rails ruby


【解决方案1】:

您有一个 .svg 但您正在尝试加载一个 .png 。将您的代码更改为:

<%= image_tag "flatty/logo_lg.svg" %>

加载图像时不要使用完整目录。资产管道为您做到这一点。只需将它们放在正确的位置,即images 目录并写下:

<%= image_tag "someimg.png" %>

另外,如果你想为你的图片设置样式,你可以给它一个类或一个 id(id 更适合一个标志):

<%= image_tag "flatty/logo_lg.svg" , :id => 'someId' , :class => 'someClass' %>

然后只需将 CSS 放入您的应用程序 css 文件或由您页面的控制器生成的文件:

  .someClass {

  width: 50px;
  height: 50px;

 }


 #someId {

  width: 50px;
  height: 50px;

 }

不过,如果您想放置 SVG,它们的反应会有所不同。您必须删除 SVG 代码中给出的属性(您可以使用大多数文本编辑器打开一个 .svg 文件)。它是 XML 标记。

阅读此answer了解更多信息。

【讨论】:

  • 这很酷,非常感谢。顺便说一句,你知道如何在 中设置图片尺寸吗?
  • 没问题。我刚刚再次编辑了我的答案(关于提供课程和 ID),因为我错过了一些逗号。玩得开心!一旦你学会了 Rails,它真的很酷!
  • 嗨,还有一个问题,试过 :id => 'someId' , :class=> 'someClass',我看到 html 加载了 id 名称,但无法更改图像的大小。我将css添加到对应的css.sass文件中
  • 哦,我用的是一个通用的例子。我会再次更新我的问题!
  • 我更新了我的答案。如果 HTML id 在那里,那么它被正确引用。我忘记了 SVG 有点奇怪,在将它们放入网页之前需要以某种方式进行更改。
猜你喜欢
  • 2013-04-15
  • 2013-12-22
  • 2016-08-05
  • 2012-02-19
  • 1970-01-01
  • 1970-01-01
  • 2018-01-20
  • 2018-02-19
  • 2017-01-10
相关资源
最近更新 更多