Ruby on rails 使活动存储器已附加一个非空
我有一个带有活动存储的模型,它安装了一个附件,一些用户在没有向表单添加文件的情况下点击了提交。在我将验证添加到前端之前,我希望确保后端将拒绝没有附加文件的记录Ruby on rails 使活动存储器已附加一个非空,ruby-on-rails,rails-activestorage,Ruby On Rails,Rails Activestorage,我有一个带有活动存储的模型,它安装了一个附件,一些用户在没有向表单添加文件的情况下点击了提交。在我将验证添加到前端之前,我希望确保后端将拒绝没有附加文件的记录 如何设置一个模型,使其不会保存,除非一个活动存储器连接了一个或多个内容?我认为,目前唯一的选择是遵循“常规”路径: 将包含ActiveModel::Validations和使用QwertieCustomValidator验证添加到您的模型中,在应用程序/验证程序下创建自定义验证程序,然后在那里检查是否记录。附加的文件。附加的?,如果否,添
如何设置一个模型,使其不会保存,除非一个活动存储器连接了一个或多个内容?我认为,目前唯一的选择是遵循“常规”路径: 将
包含ActiveModel::Validations
和使用QwertieCustomValidator验证
添加到您的模型中,在应用程序/验证程序
下创建自定义验证程序,然后在那里检查是否记录。附加的文件。附加的?
,如果否,添加错误:记录。错误。添加(:附加的文件,“没有附加的文件”)
再想一想,您不需要在其他文件中指定验证器,我只是在我的项目中这样做,以匹配项目的流。最短的路径如下所示:
has_one_attached :attached_file
validate :check_file_presence
def check_file_presence
errors.add(:attached_file, "no file added") unless attached_file.attached?
end
希望这对你有帮助