这是我的主要型号:
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记录回滚,并且保留了上传的文件。我最后得到的是孤立文件。
知道我在这里缺少什么吗?