activeadmin 中未显示活动存储映像 rails

Active storage images not showing in activeadmin rails

使用活动存储来存储工作正常的图像。 我面临的问题是,当我 image_tag image 它显示 # 而不是图像。

这是代码 products.rb

has_many_attached :photos

在active_admin

row "Images" do |p|
  p.photos.attachments.each do |photo|
    image_tag photo
  end
end

它不显示图像。它用 byebug 也检查了 url 是好的,但图像不显示,它显示了这个

只有这个有效

row "Images" do |p|
    image_tag p.photos.attachments.last
end

您需要使用 url_for 来显示图像,如下所示

row "Images" do |p|
  ul do
    p.photos.each do |photo|
      li do
        image_tag url_for(photo)
      end
    end
  end
end

对于多个附件,我没有遇到任何问题:

if resource.photos.attached?
  row "Photos" do |resource|
    resource.photos.map{|photo| image_tag url_for photo}
  end
end

我不知道为什么@uday 会建议 ulli。这似乎是一个“XY 解决方案”。