文件大小验证错误信息(Paperclip)

3
validates_attachment_size :image, :less_than => 5.megabytes

会提示错误信息:

Image file size must be less than 5242880 Bytes

这不太用户友好。有没有办法让信息更易懂?

Image file size must be less than 5 MB 

如果没有设置自定义消息,会发生什么?

3个回答

3

不是的。你需要设置一个自定义消息来获取这种格式。从纸夹源代码中可以看出,它们会将大小转换为字节数的整数 human_size


2

实际上,你是可以的。

我刚刚添加了一条消息。

validates_attachment_size :cover_image, :in => 0.megabytes..6.megabytes, :message => 'must be smaller than 6mb'

我的错误提示现在是:'封面图片必须小于6MB。'

(如果我能将“Cover_image”更改为更加用户友好的内容,那就更好了。但这仍然优于“封面图片文件大小必须小于5242880字节”)


花了一年的时间,但终于得到了答案 :) - Nick Ginanto
公平地说,你的问题是“不设置自定义消息”,而我的答案确实表明“你需要设置自定义消息才能获得那种格式”... - Andrew Haines

1
你使用的是哪个版本的 gem? 我也遇到了同样的问题,将其更新到 4.2 版本后问题得以解决(函数 human_size 现在使用 ActiveSupport::NumberHelper.number_to_human_size 函数使其易于阅读)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接