[ActionText gif附件在提交rails表单时转换为照片

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

因此,我已经尝试修复此问题已有一段时间了,我这样做并没有运气。我有一个模型文章has_rich_text:body

class Post < ApplicationRecord
  extend FriendlyId
  friendly_id :title, use: :slugged
  has_rich_text :body
  has_rich_text :health_check
  has_one_attached :cover_photo
  has_many :post_tags, dependent: :destroy
  has_many :tags, through: :post_tags

  after_commit :add_default_cover, on: [:create, :update]

  def add_default_cover
    unless cover_photo.attached?
      self.cover_photo.attach(io: File.open(Rails.root.join("app", "assets", "images", "default.png")), filename: 'default.png' , content_type: "image/png")
    end
  end
end

当我附加照片时,它可以很好地工作,但是当我附加gif时,它将正确上载到编辑/新屏幕中,并且可以在RTF编辑器中看到gif的动画。但是,一旦我提交了edit / new表单,就会创建一个新的变体作为图像,这就是显示帖子时所使用的。当我检查存储系统时,同时找到了图像和gif版本。

有人知道提交表单的原因吗?我想上传一个gif并显示它,而无需主动存储或操作文本对其进行更改。

ruby-on-rails rails-activestorage actiontext
1个回答
0
投票

我有同样的问题。我最终在client-side with JS上入侵了它。

[我的方法:在具有GIF / MP4的页面的'DOMContentLoaded'事件上,我抓取了所有操作文本附件,获取了它们的URL,然后对于GIF,我用GIF URL替换了静态图片URL,对于MP4我只是创建一个新的<video>元素并为其提供MP4 URL。它不漂亮,但是可以用。

这里是example on my blog。让我知道,如果您找到一个更好的答案,这就像应该在动作存储/文本中内置的内容。

© www.soinside.com 2019 - 2024. All rights reserved.