【问题标题】:Rails 6, webpacker: image_pack_tag renders wrong image path, adds "assets/" to URIRails 6,webpacker:image_pack_tag 呈现错误的图像路径,将“assets/”添加到 URI
【发布时间】:2020-02-08 01:56:50
【问题描述】:

使用 webpacker 处理新的 Rails 6 应用程序。图像存储在/app/frontend/images

//added to /app/frontend/application.js

const images = require.context('../images', true)
const imagePath = (name) => images(name, true)

Webpacker 配置:

/config/webpacker.yml contains:
default: &default
  source_path: app/frontend
  source_entry_path: packs
  public_root_path: public
  public_output_path: packs
  cache_path: tmp/cache/webpacker
  check_yarn_integrity: false
  webpack_compile_output: true

我的问题:image_pack_tag 错误地将 assets/ 添加到图像路径。

<%= image_pack_tag 'media/images/AdminLTELogo.png', alt: 'AdminLTE Logo', class: "brand-image img-circle elevation-3", style: "opacity: .8" %>

渲染... <img alt="AdminLTE Logo" class="brand-image img-circle elevation-3" style="opacity: .8" src="/assets/%2Fpacks%2Fmedia%2Fimages%2FAdminLTELogo-28f7e31d41f353b3aaff1236c7108479.png">

从路径中删除assets/ 将成功渲染图像。

有什么想法可以将assets/ 添加到图像路径中吗?

【问题讨论】:

    标签: image tags pack ruby-on-rails-6 webpacker


    【解决方案1】:

    原因: 就在此错误之前,我创建了一个名为“资产”的模型。不知何故,我的 routes.rb 文件中的 resources :assets 函数与 image_pack_tag 冲突,在所有图像的路径中插入 assets/。当我简单地在我的 routes.rb 文件中注释掉 resources :assets 行并且所有图像都正确加载时,我意识到了这一点。

    解决方案: 我命名了我的资产模型,还在我的 routes.rb 文件中命名了 resources :assets 行。现在所有图像都正确加载。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-09
      • 1970-01-01
      相关资源
      最近更新 更多