gro*_*ark 11 ruby activerecord ruby-on-rails paperclip ruby-on-rails-plugins
我有一个使用Paperclip的rails模型,如下所示:
has_attached_file :image, :styles => { :normal => ['857x392#', :png] },
:url => '/assets/pages/:id/:basename.:extension',
:path => ':rails_root/public/assets/pages/:id/:basename.:extension'
validates_attachment_size :image, :less_than => 2.megabytes
Run Code Online (Sandbox Code Playgroud)
尝试创建此模型的记录而没有要上载的附件时,将返回验证错误:
以下字段存在问题:
Run Code Online (Sandbox Code Playgroud)* Image file size file size must be between 0 and 2097152 bytes.
我已经尝试在模型中的验证语句之后传递两个:allow_blank => true和:allow_nil => true,但两者都没有工作.
如何允许:image参数为空?
小智 6
validates_attachment_size :image, :less_than => 25.megabytes,
:unless => Proc.new {|m| m[:image].nil?}
Run Code Online (Sandbox Code Playgroud)
适合我
Paperclip的验证只检查范围,并不关心:allow_nil => true
你可以做的就是尝试设置:min => nil或:min => -1,也许会起作用。
更新: 这在最新版本的 Paperclip 中不起作用,因为它们改变了验证的工作方式。你可以尝试的是:
validates_attachment_size :image, :less_than => 2.megabytes,
:unless => Proc.new {|model| model.image }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15031 次 |
| 最近记录: |