Ruby on rails 如何使验证\媒体\类型有条件?

Ruby on rails 如何使验证\媒体\类型有条件?,ruby-on-rails,paperclip,Ruby On Rails,Paperclip,这是我的文档模型 Document.rb has_attached_file :document, validate_media_type: false 为了接受像“.srt”文件这样的文档,我必须将validate\u media\u type:false添加到附件中,但我想将此validate\u media\u type设置为有条件的 因此,如果它是一个.srt文件,那么validate_media_type将为false,对于所有其他文件,它将为true 如何在我的文档模型中使vali

这是我的文档模型

Document.rb

has_attached_file :document, validate_media_type: false
为了接受像“.srt”文件这样的文档,我必须将
validate\u media\u type:false
添加到附件中,但我想将此
validate\u media\u type
设置为有条件的

因此,如果它是一个.srt文件,那么validate_media_type将为
false
,对于所有其他文件,它将为
true

如何在我的文档模型中使
validate\u media\u type:false
有条件?

试试

  has_attached_file :document, validate_media_type: :content_type_val

def content_type_val
  content_type != 'application/srt'
end
请确认结果

试试看

  has_attached_file :document, validate_media_type: :content_type_val

def content_type_val
  content_type != 'application/srt'
end

请确认结果

很抱歉迟了答复。没用。添加了方法,但它甚至没有被调用。我添加了一个调试器来检查
content\u type\u val
方法是否正在执行。不是。但是在附件中直接添加
false
,很抱歉回复太晚。没用。添加了方法,但它甚至没有被调用。我添加了一个调试器来检查
content\u type\u val
方法是否正在执行。不是。但是直接在附件中添加
false