具有嵌套属性的Rails Active Storage-即使验证失败也可以上传文件

时间:2019-08-08 06:26:18

标签: ruby-on-rails rails-activestorage

这是我的主要型号:

class Expenditure < ApplicationRecord

  has_many :attachments, as: :attachable, dependent: :destroy
  accepts_nested_attributes_for :attachments, allow_destroy: true
  validates_associated :attachments

和我的Attachment模型:

class Attachment < ApplicationRecord
  belongs_to :attachable, polymorphic: true
  has_one_attached :attachment
  has_rich_text :notes

  validates :name, presence: true


  validates :attachment, attached: true, limit: { min: 1, max: 1 }

这样,我可以将其他文本字段(说明,注释等)添加到我的上传文件中。

我有嵌套的附件,带有支出。问题在于,提交表单时,支出模型(不是嵌套模型-可以很好地处理验证)中存在验证错误。

文件上传,创建Blob,然后更新操作失败(在验证时),并且子附件/ Blob记录回滚,并且保留了上传的文件。我最后得到的是孤立文件。

知道我在这里缺少什么吗?

0 个答案:

没有答案