对回形针中的视频/图像使用单个附件

2023-11-23

我正在使用回形针上传文件(视频和图像)。 视频和图像使用相同的附件(源)。

class Media < ActiveRecord::Base
  belongs_to :memory
  validates_attachment_presence :source
  validates_attachment_content_type :source,
    :content_type => ['video/mp4', 'image/png', 'image/jpeg', 'image/jpg', 'image/gif']
end

现在我想在不同的情况下显示不同的错误消息。

  1. 当上传文件是图像类型而不是jpg/png/jpeg/gif时。
  2. 当上传的文件是视频类型而不是mp4时

我怎样才能做到这一点? 任何帮助将不胜感激。


所以最后我得到了解决方案。 我为相同的内容添加了 2 个条件验证

class Media < ActiveRecord::Base
  belongs_to :memory
  validates_attachment_presence :source
  validates_attachment_content_type :source,
    :content_type => ['video/mp4'],
    :message => "Sorry, right now we only support MP4 video",
    :if => :is_type_of_video?
  validates_attachment_content_type :source,
     :content_type => ['image/png', 'image/jpeg', 'image/jpg', 'image/gif'],
     :message => "Different error message",
     :if => :is_type_of_image?
  has_attached_file :source

  protected
  def is_type_of_video?
    source.content_type =~ %r(video)
  end

  def is_type_of_image?
    source.content_type =~ %r(image)
  end
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对回形针中的视频/图像使用单个附件 的相关文章

随机推荐

  • C# 正则表达式排除字符串

    我得到了一个字符串集合 我想要的正则表达式就是收集所有以 http 开头的 href http www test com cat 1 one piece episodes href http www test com cat 2 movie
  • 有没有办法标记 docker 镜像中的前一层或恢复提交?

    假设有一个 docker 镜像 有人对其进行了更改 然后将其推送到 docker 存储库 然后我拉下图像 有没有办法获取该图像并运行上一层的容器 运行更改之前的版本 如果我运行 docker History 它将看起来像这样 docker
  • 如何克服“错误:在注册表中找不到对象‘jupyter.widget’”?

    我在 kubernetes 上的 jupyterhub 中运行 jupyterlab 我正在尝试使用例如显示小部件 from ipywidgets import interact interact x 0 100 10 def p x 50
  • 当创建的类也需要运行时值时进行依赖注入?

    假设您将系统划分为价值对象和服务对象 如 开发面向对象的软件 由测试引导 中所建议的 Misko Hevery 将这些对象称为 可更新对象 和 可注入对象 当您的值对象之一突然需要访问服务来实现其方法时会发生什么 假设您有一个很好的简单 V
  • Keras 在拟合期间淹没 Jupyter 单元输出(详细 = 1)

    当使用 verbose 1 选项在 Jupyter 笔记本中运行 keras 模型时 我开始得到的不是像以前那样的单行进度状态更新 而是批量更新的大量状态行 参见附图 重新启动 jupyter 或浏览器没有帮助 Jupyter笔记本服务器是
  • 多个日期范围重叠比较:如何有效地进行?

    要检查两个不同日期范围内的重叠 Start1 End1 and Start2 End2 我正在查 if Start1 lt End2 End1 gt Start2 overlap exists 问题是 如果我有五个日期范围 比较重叠的好方法
  • strcpy 当目标缓冲区小于 src 缓冲区时

    我试图了解 strcpy 和 strncpy 的区别 缺点 有人可以帮忙吗 void main char src this is a long string char dest 5 strcpy dest src printf s n de
  • 如何在Oracle动态SQL中转义“:”并且还具有绑定变量?

    我正在尝试将以下内容设为动态 SQL 但是 角色搞砸了 alter session set events sql trace sql asasasaass Example declare l trc cmd varchar2 500 l s
  • 时间表的数据库架构

    有人可以帮助我为时间表应用程序提供一个粗略的数据库架构吗 为不同的项目存储一段时间 2 周 内每天的小时数 前任 A 可以在同一天为项目 A 投入 3 小时 为项目 B 投入 4 小时 使其能够轻松获取项目总投入时间的报告 或者获取某个人所
  • VS2010静态链接问题

    我公司最近从VS2005升级到VS2010 我们有一个巨大的项目 其中使用了许多静态链接到 exe 中的模块 但是VS2010中的链接似乎存在一些问题 为了解释我们的问题 我们构建了一个最小的示例项目 其组成如下图所示 有一个应用程序使用库
  • GetHostEntry() 不再解析地址

    我最近从 NET v3 5 切换到 v4 0 Client Profile 第一次运行 GetHostEntry 时遇到问题 tcpClient SocketInfo SourceName remoteMatcher Host 88 255
  • Android 使地图上的蓝点消失或移除 v2

    我正在尝试替换我的应用程序地图上的蓝点 我的目的是显示一个图标形状的平面 而不是通常的蓝点 我实现了这一点并且它完美地工作如下 GoogleMap OnMyLocationChangeListener myLocationChangeLis
  • 子组件中的 ExpressionChangedAfterItHasBeenCheckedError

    我有一个父组件 它每秒更新一次其数组myValue 在子组件中 我想创建一个图表 该图表使用该数组作为数据 并在每次父组件更新时更新 当我运行此应用程序时 我收到此错误 错误 ExpressionChangedAfterItHasBeenC
  • 如果接口定义了 ReadOnly 属性,那么实现者如何为该属性提供 Setter?

    对于接口的实现者来说 有没有一种方法可以让ReadOnly定义属性使其成为完整的读 写Property 想象一下我定义一个接口来提供ReadOnly Property 即 只是给定值的吸气剂 Interface SomeInterface
  • 简单的 getColumnName(0) 调用会抛出无效的列索引:getValidColumnIndex

    我正在尝试编写一个 JTable 它从 ResultSet 获取数据 并使用它创建一个动态大小的表 其中包含来自 ResultSet 的适当列名称和行数据值 但我无法让 JDBC 动态获取列名称 我知道我的 select 语句很好 我可以使
  • 使用视觉状态管理器设置前景时出现问题

    我有一个 WPF 应用程序 我正在尝试使用 Net v4 视觉状态管理器设置 TextBox 的样式 具体来说 我尝试设置 MouseOver 状态的前景和背景的颜色 正在发生的情况是 虽然背景和边框发生了完美的变化 但前景却没有 如果我使
  • 循环声音 flash as3 的首选方法

    我在 Flash AS3 中循环播放声音时遇到一些问题 因为当我告诉声音循环时 我在音频的结尾 开始处出现轻微的延迟 音频剪辑正确 并且可以在车库乐队上无间隙地播放 我知道 Flash 中普遍存在声音问题 编码错误以及 SOUND COMP
  • 如何将文件发送到浏览器进行下载?

    当客户端请求文件时 我使用以下代码发送它 public static Result download String file File file getRealFile file return Ok file 但我发现浏览器不会下载它 而是
  • 如何知道使用了什么 JAXB 实现?

    我使用 MOXy 作为 JAXB 实现 但不知何故我想在某些管理屏幕上 动态 显示实现名称 例如 Moxy 和版本号 我如何从 JAXB 检索该信息 Cheers 您可以执行类似以下操作来找出正在使用的 JAXB impl import j
  • 对回形针中的视频/图像使用单个附件

    我正在使用回形针上传文件 视频和图像 视频和图像使用相同的附件 源 class Media lt ActiveRecord Base belongs to memory validates attachment presence sourc