Sprockets :: Rails :: Helper :: AssetNotFound-资产管道中不存在资产“ my_logo.jpeg”

尼克里克斯

收到此错误后,我缺少什么?

Sprockets::Rails::Helper::AssetNotFound in Static#index:

The asset "my_logo.jpg" is not present in the asset pipeline.

ActionView::Template::Error (The asset "my_logo.jpg" is not present in the asset pipeline.):
    1: <%= image_tag "my_logo.jpg" %>
  1. 我制作了一个新的Ruby on Rails应用程序rails new my_app#Rails 6.0.3.2

  2. 允许它安装gems,web packer等。

  3. 添加config.assets.compile = falseconfig/environments/development.rb

  4. 添加具有此内容的静态控制器和索引文件

    应用程序/控制器/static_controller.r b

    class StaticController < ApplicationController
      def index
        render :index, layout: false
      end
    end
    

    app / views / static / index.html.erb

    <%= image_tag "my_logo.jpg" %>
    
  5. 将my_logo.jpeg文件添加到 app/assets/images/

    wget https://jpeg.org/images/jpeg2000-home.jpg -O app/assets/images/my_logo.jpg
    
  6. 预编译资产: bundle exec rake assets:precompile

  7. 将Rails服务器运行为: bundle exec rails server

我可以看到文件的public/assets/名称如下:my_logo-484af9fb82bc8a0279ef38b527402b5697475bd8f827251f46fbb182be6c07a1.jpg

如果将其设置为true,它将显示图像很好: config.assets.compile = true

清单文件的内容也来自 public/assets/.sprockets-manifest-a7f9f10978778e828273bf0c790645f6.json

{
  "files": {
    "manifest-b4bf6e57a53c2bdb55b8998cc94cd00883793c1c37c5e5aea3ef6749b4f6d92b.js": {
      "logical_path": "manifest.js",
      "mtime": "2020-06-28T03:59:01+00:00",
      "size": 2,
      "digest": "75a11da44c802486bc6f65640aa48a730f0f684c5c07a42ba3cd1735eb3fb070",
      "integrity": "sha256-daEdpEyAJIa8b2VkCqSKcw8PaExcB6Qro80XNes/sHA="
    },
    "application-b324c44f04a0d0da658824105489a2676d49df561c3d06723770321fd441977c.css": {
      "logical_path": "application.css",
      "mtime": "2020-06-28T03:59:01+00:00",
      "size": 675,
      "digest": "4998ce12ecefa6ba42de36e4beac458527529608f8cf0fe6c97acd87850045e4",
      "integrity": "sha256-SZjOEuzvprpC3jbkvqxFhSdSlgj4zw/myXrNh4UAReQ="
    },
    "my_logo-484af9fb82bc8a0279ef38b527402b5697475bd8f827251f46fbb182be6c07a1.jpg": {
      "logical_path": "my_logo.jpg",
      "mtime": "2020-06-28T03:59:01+00:00",
      "size": 20974,
      "digest": "acda9fe5166e93aef6ef9572c07e9a6bf3f4879180765b3d95d9a631b852191c",
      "integrity": "sha256-rNqf5RZuk67275VywH6aa/P0h5GAdls9ldmmMbhSGRw="
    }
  },
  "assets": {
    "manifest.js": "manifest-b4bf6e57a53c2bdb55b8998cc94cd00883793c1c37c5e5aea3ef6749b4f6d92b.js",
    "application.css": "application-b324c44f04a0d0da658824105489a2676d49df561c3d06723770321fd441977c.css",
    "my_logo.jpg": "my_logo-484af9fb82bc8a0279ef38b527402b5697475bd8f827251f46fbb182be6c07a1.jpg"
  }
}

另外,我还打开config.assets.unknown_asset_fallback = true了路径,发现它是存在的:http://localhost:3000/images/my_logo.jpg当它为假时(当它起作用时),我得到了以下路径:http://localhost:3000/assets/my_logo-484af9fb82bc8a0279ef38b527402b5697475bd8f827251f46fbb182be6c07a1.jpg

米加尔

中的文件以public/assets结尾.jpg您正在使用.jpeg你的image_tag

您需要重命名源图像以结尾于.jpg,并更新您的image_tag调用:

<%= image_tag('my_logo.jpg') %>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Devise - Bootstrap - RoR: Sprockets::Rails::Helper::AssetNotFound in Devise::Sessions#new

来自分类Dev

Rails:Sprockets :: Rails :: Helper :: AssetNotPrecompiled在开发中

来自分类Dev

即使在config / initializers / assets.rb中声明,Sprockets Rails Helper资产也不会预编译

来自分类Dev

Rails 5.2.3 -- ActionView::Template::Error:资产管道中不存在资产

来自分类Dev

在Rails 4的开发中禁用Sprockets资产缓存

来自分类Dev

资产:预编译后如何刷新Rails / Sprockets以了解生产服务器上的新清单

来自分类Dev

资产:预编译后如何刷新Rails / Sprockets以了解生产服务器上的新清单

来自分类Dev

如何在没有Rails或Sprockets的情况下压缩资产?

来自分类Dev

资产“ ”不存在于资产管道中

来自分类Dev

Rails 4-生产资产:在ActiveRecord :: NoDatabaseError中预编译的结果:致命:数据库不存在

来自分类Dev

Rails 4-生产资产:在ActiveRecord :: NoDatabaseError中预编译的结果:致命:数据库不存在

来自分类Dev

Rails资产管道-如何确定资产是否存在?

来自分类Dev

Rails Server无法启动,Rails 5中的弃用警告(MIME?Sprockets?)

来自分类Dev

在Rails中编写helper和helper_spec

来自分类Dev

Rails-通过资产管道加载资产

来自分类Dev

在Rails 4中使用Sprockets和Turbolinks时如何异步加载javascript

来自分类Dev

Rails-如何在手动Sass编译中传递Sprockets :: Context

来自分类Dev

jquery-ui-rails Sprockets :: FileNotFound的问题

来自分类Dev

禁用Asset Pipeline / Sprockets Rails 4.1

来自分类Dev

Rails Sprockets:需要基于变量的不同JavaScript

来自分类Dev

Rails 3.2.13 Javascript资产管道

来自分类Dev

将Grunt集成到Rails资产管道中

来自分类Dev

将Grunt集成到Rails资产管道中

来自分类Dev

尽管在heroku资产管道中,Rails 4 Heroku资产未加载

来自分类Dev

Rails Helper If 语句

来自分类Dev

Rails 4资产管道资产.rb重构问题

来自分类Dev

Rails 4资产管道丢失了供应商资产

来自分类Dev

Rails资产管道剥离了插件的版权

来自分类Dev

Rails资产管道:找不到字体

Related 相关文章

  1. 1

    Devise - Bootstrap - RoR: Sprockets::Rails::Helper::AssetNotFound in Devise::Sessions#new

  2. 2

    Rails:Sprockets :: Rails :: Helper :: AssetNotPrecompiled在开发中

  3. 3

    即使在config / initializers / assets.rb中声明,Sprockets Rails Helper资产也不会预编译

  4. 4

    Rails 5.2.3 -- ActionView::Template::Error:资产管道中不存在资产

  5. 5

    在Rails 4的开发中禁用Sprockets资产缓存

  6. 6

    资产:预编译后如何刷新Rails / Sprockets以了解生产服务器上的新清单

  7. 7

    资产:预编译后如何刷新Rails / Sprockets以了解生产服务器上的新清单

  8. 8

    如何在没有Rails或Sprockets的情况下压缩资产?

  9. 9

    资产“ ”不存在于资产管道中

  10. 10

    Rails 4-生产资产:在ActiveRecord :: NoDatabaseError中预编译的结果:致命:数据库不存在

  11. 11

    Rails 4-生产资产:在ActiveRecord :: NoDatabaseError中预编译的结果:致命:数据库不存在

  12. 12

    Rails资产管道-如何确定资产是否存在?

  13. 13

    Rails Server无法启动,Rails 5中的弃用警告(MIME?Sprockets?)

  14. 14

    在Rails中编写helper和helper_spec

  15. 15

    Rails-通过资产管道加载资产

  16. 16

    在Rails 4中使用Sprockets和Turbolinks时如何异步加载javascript

  17. 17

    Rails-如何在手动Sass编译中传递Sprockets :: Context

  18. 18

    jquery-ui-rails Sprockets :: FileNotFound的问题

  19. 19

    禁用Asset Pipeline / Sprockets Rails 4.1

  20. 20

    Rails Sprockets:需要基于变量的不同JavaScript

  21. 21

    Rails 3.2.13 Javascript资产管道

  22. 22

    将Grunt集成到Rails资产管道中

  23. 23

    将Grunt集成到Rails资产管道中

  24. 24

    尽管在heroku资产管道中,Rails 4 Heroku资产未加载

  25. 25

    Rails Helper If 语句

  26. 26

    Rails 4资产管道资产.rb重构问题

  27. 27

    Rails 4资产管道丢失了供应商资产

  28. 28

    Rails资产管道剥离了插件的版权

  29. 29

    Rails资产管道:找不到字体

热门标签

归档