Ruby on rails 显示带有表单错误的活动存储验证错误

Ruby on rails 显示带有表单错误的活动存储验证错误,ruby-on-rails,rails-activestorage,ruby-on-rails-5.2,Ruby On Rails,Rails Activestorage,Ruby On Rails 5.2,我正在使用rails 5.2,bootstrap-4,bootstrap\u表单和活动存储文件已成功上载。我想要的是,当我在表单中输入公司名称时,它应该检查公司徽标 我尝试了这个,当我在表单中包含错误循环时,它工作得很好 眼前 - if @company.errors.any? #error_explanation %ul - @company.errors.full_messages.each do |message| %li= message 模型代

我正在使用
rails 5.2
bootstrap-4
bootstrap\u表单
活动存储
文件已成功上载。我想要的是,当我在表单中输入公司名称时,它应该检查
公司徽标

我尝试了这个,当我在表单中包含错误循环时,它工作得很好 眼前

- if @company.errors.any?
  #error_explanation
    %ul
      - @company.errors.full_messages.each do |message|
        %li= message
模型代码

has_one_attached :company_logo
validates :name, :company_logo,presence: true
after_validation :is_logo?, if: Proc.new { |a| a.name? }


def is_logo?
      errors.add(:base, 'Please upload your company logo.') if !self.company_logo.attached?
end
我想用文件字段进行这种验证

实际活动存储不支持验证

我为出席所做的:

  class CompanyModel < ApplicationRecord
    has_one_attached :company_logo

    validate :company_logo?

    private

    def company_logo?
      errors.add(:base, 'Please upload your company logo.') unless company_logo.attached?
    end
  end

将presence:true添加到您的validates:name,:company\u徽标行。@hashrocket它已经在那里了,我忘了在问题中添加,现在我更新了,当对另一个字段进行验证并且文件位于
文件\u字段中时,它不起作用,正如您所说,上传文件并在数据库中创建一个
active\u storage
blob字段,那么是否有任何方法可以插入到另一个表
active\u record\u attachments
中,以便上传文件不依赖于其他表单错误,因为如果表单中存在验证,用户必须在不正确的时间再次上传文件
def company_logo?
  # Clean exit if there is a logo
  return if company_logo.attached?

  # Unless add error
  errors.add(:base, 'Please upload your company logo.')

  # Purge the blob
  company_logo.record.company_logo_attachment.blob.purge

  # Purge attachment
  company_logo.purge
end