资产“logo.png”不存在于资产管道中

问题描述 投票:0回答:9

在 Rails 5.1.3 中 我更改应用程序/资产/图像中的徽标文件 然后错误不知道要修复什么。有谁知道吗

The asset "logo.png" is not present in the asset pipeline.

已经尝试重新启动rails、rails clean、rails或rails asset:预编译

这是我的 config/initializers/assets.rb

# Be sure to restart your server when you modify this file.

# Version of your assets, change this if you want to expire all your assets.
Rails.application.config.assets.version = '1.0'

# Add additional assets to the asset load path.
# Rails.application.config.assets.paths << Emoji.images_path
# Add Yarn node_modules folder to the asset load path.
Rails.application.config.assets.paths << Rails.root.join('node_modules')

# Precompile additional assets.
# application.js, application.css, and all non-JS/CSS in the app/assets
# folder are already added.
# Rails.application.config.assets.precompile += %w( admin.js admin.css )
ruby-on-rails asset-pipeline ruby-on-rails-5.1
9个回答
32
投票

我也有类似的问题。解决方案是在图像上添加文件扩展名。

= image_tag 'logo', alt: ''

= image_tag 'logo.jpg', alt: ''

30
投票

对我来说,这就像重新启动 Rails 服务器一样简单。


5
投票

这是我为解决问题所做的事情 假设我的代码没有任何问题并且它可以工作:

  1. 使用以下命令清理 /tmp/assets 中的资源缓存:
$rake tmp:clear

正如所说这里

  1. 使用以下命令再次预编译资产:
$rake assets:precompile

4
投票

尝试这样做

首先去

app/assets/images

第二个创建文件夹徽标

app/assets/images/logos

第三次将图像放入徽标

app/assets/images/logos/logo.png

最后在您的应用程序中放入此代码

<%= link_to image_tag("logos/logo.png"), root_path %>

到处都可以工作


2
投票

对于导轨 6,请确保您的图像位于内部

/app/assets/images/

那么简单

<%= image_tag("mylogo.png", size: '200x75', alt: "logo") %>

1
投票

我遇到了同样的问题,尝试了这篇文章中提出的每一个解决方案,但没有人工作...最后,重命名图像确实解决了问题,从“compuLab50-2.png”到“compusuno.png”...我还在“layouts/application.html.erb”文件中添加了<%= favicon_link_tag %>。这是一个非常烦人和令人沮丧的问题,我认为这是一个 Rails bug(顺便说一句,我正在使用 Rails 6.1.3 和 webpacker,我认为这没有太大帮助)


0
投票

我有类似的问题,但以上没有任何帮助。对我来说,我列出了整个相对路径。所以这个

<%= image_tag("app/assets/.../mylogo.png", size: '200x75', alt: "logo") %>

只需将其更改为

<%= image_tag("mylogo.png", size: '200x75', alt: "logo") %>

这对我有用!


0
投票

我在使用rails 7时遇到了同样的问题。由于我需要显示的图像没有附加到模型上,仅供参考, 我用过这个,虽然它可能不是最好的方法:

<img src="/logo-small.png" alt="Logo Empresa"/> 

这对我有用。 我还使用了另一种对我也有效的方法,我认为这是两者中最好的。

<%= link_to image_tag("/logo-small.png"), root_path %>

图像位于应用程序的公共文件夹中。


-2
投票

解决此问题的最佳方法是将图像文件放入公共文件夹中,然后在 HTML.erb 文件中使用如下代码。这是我的个人经历

<img src="/logo.png" alt="" />
© www.soinside.com 2019 - 2024. All rights reserved.