条件验证:如果文件上传,则检查最小尺寸

时间:2015-10-06 13:49:38

标签: ruby-on-rails-4

我希望在我的组织模型中进行验证,该模型仅在选择上传图像文件时运行。

应用程序/模型/ organisation.rb

class Organisation < ActiveRecord::Base

  validates :name, :url, :street, :city, :zipcode, presence: true

  validate :validate_minimum_image_size, if: # file is selected for upload 


  def validate_minimum_image_size
    image = MiniMagick::Image.open(picture.path)
    unless image[:width] > 300 && image[:height] > 300
      errors.add :image, "should be 300px minimum!" 
    end
  end

end

当选择上传图像文件时,有没有办法检查图像尺寸?

1 个答案:

答案 0 :(得分:1)

您可以提供自己的自定义方法,例如:

   validate :validate_minimum_image_size, if: :file_present?

   def file_present?
     picture ? true : false
   end