ruby-on-rails-3 - CarrierWave 多文件类型验证与单个 uploader

标签 ruby-on-rails-3 carrierwave

使用单个上传器进行多种文件类型时,如何验证上传文件的扩展名?

我正在使用单个模型,即包含属性文件的 Assets 。上传器安装在文件属性上。 Assets 模型还有一个名为 feature_id 的属性。 feature_id 指的是视频、音频等功能。

那么,我应该如何根据 feature_id 值验证具有多个扩展名白名单的文件类型?

使用 ruby​​ 1.9 和 rails 3.2.11

任何帮助将不胜感激。

最佳答案

我遇到了完全相同的用例:

Asset.rb 中
验证文件名的格式

validates :asset_file,
                 format:{
                    with: %r{\.(pdf|doc|png)$}i, message: "Wrong file format"
                        }

使用正则表达式测试文件名:

在这里您可以使用正则表达式:
http://rubular.com/r/Z3roRDDXAf

希望这可以帮助!

关于ruby-on-rails-3 - CarrierWave 多文件类型验证与单个 uploader ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14630584/

相关文章:

ruby - 如何在 1.9.2 上安装 SystemTimer?

ruby-on-rails - 事件管理员 : How to customize the main menu (at the top of the page)?

ruby-on-rails - Nokogiri XML 导入提要组织?

ruby-on-rails - 在 Rails 中编码视频时出现参数错误

ruby-on-rails - 使用 Carrierwave 重命名上传的文件

ruby-on-rails - 测试说没有路由匹配,但它们在浏览器中工作

ruby-on-rails - 在 rails 中跳过 JSON 格式生成脚手架

ruby-on-rails-3 - Rails 3.1 RC4 移除附件不移除!

ruby-on-rails - 如何测试carrierwave文件是否更改?

javascript - 使用 CarrierWave 和 Rails 设置 Froala 所见即所得编辑器