Ruby   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ruby-on-rails – 显示带有表单错误的活动存储验证错误大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用Rails 5.2,bootstrap-4,bootstrap_form和active-storage文件正在成功上传.我想要的是当我在表单中输入公司名称时,它应该检查company_logo.

我试过这个,当我在表单中包含错误循环时它工作得很好
在这里看

- 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

我想用文件字段进行这种验证
@L_674_0@

解决方法

实际上active_storage不支持验证.

我为在场做了什么:

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

但是这会将文件上传到您的存储并在数据库中创建active_storage blob字段…

唯一的workarround我发现删除存储和数据库字段上的文件(太丑了):

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

大佬总结

以上是大佬教程为你收集整理的ruby-on-rails – 显示带有表单错误的活动存储验证错误全部内容,希望文章能够帮你解决ruby-on-rails – 显示带有表单错误的活动存储验证错误所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。