Paperclip - Validate File Type but not Presence

后端 未结 4 474
粉色の甜心
粉色の甜心 2020-12-30 14:21

I am using paperclip to handle my file uploads, and in one situation I don\'t want the file to be mandatory. I do however want to make sure it is a specific file type when i

相关标签:
4条回答
  • 2020-12-30 14:43

    This issue has been fixed in newer versions of paperclip (I think around 2.3.4 based on when the commit was made). See discussion at

    https://github.com/thoughtbot/paperclip/issues/125

    0 讨论(0)
  • 2020-12-30 14:51

    First let me say that I am new to both ruby and rails. Secondly, I don't know if this can be applied to audio files but with images I just set up a default image so that one way or another there is a photo associated with each record.

    has_attached_file :photo, styles: { small: "64x64", med: "100x100", large: "200x200" }, default_url: "/images/no-image-available.png"
    
    0 讨论(0)
  • 2020-12-30 14:52

    I guess you could try a 'conditional validation' where the condition is if a file is present?

    class TestModel < ActiveRecord::Base
      #stuff
      has_attached_file :sound #etc...
      validates_attachment_content_type :sound, :content_type => ['audio/mp3', 'application/x-mp3'], :if => :sound_attached?
    
      def sound_attached?
        self.sound.file?
      end
    end
    
    0 讨论(0)
  • 2020-12-30 15:01

    chunk of my model:

      has_attached_file :logo, :styles => { :medium => ["300x300>", :png], :thumb => ["100x100>", :png] }
      validates_attachment_size :logo, :less_than => 2.megabytes
      validates_attachment_content_type :logo, :content_type => ['image/jpeg', 'image/png', 'image/gif']
    

    and if I provide no image file, @obj.update_attributes(..) raises no error, but validates if I provide a file. Maybe you use older version of paperclip?

    gem list | ack paperclip
    paperclip (2.3.1.1)
    
    0 讨论(0)
提交回复
热议问题