I am using paperclip for uploading file ( video and images). Have used the same attachment(source) for both video and images.
class Media < ActiveRecord::Base
belongs_to :memory
validates_attachment_presence :source
validates_attachment_content_type :source,
:content_type => ['video/mp4', 'image/png', 'image/jpeg', 'image/jpg', 'image/gif']
end
Now I wanted to display different error messages in different cases.
How can i achieve this ? Any help would highly appreciated.
So finally I got the solution. I added 2 conditional validation for the same
class Media < ActiveRecord::Base
belongs_to :memory
validates_attachment_presence :source
validates_attachment_content_type :source,
:content_type => ['video/mp4'],
:message => "Sorry, right now we only support MP4 video",
:if => :is_type_of_video?
validates_attachment_content_type :source,
:content_type => ['image/png', 'image/jpeg', 'image/jpg', 'image/gif'],
:message => "Different error message",
:if => :is_type_of_image?
has_attached_file :source
protected
def is_type_of_video?
source.content_type =~ %r(video)
end
def is_type_of_image?
source.content_type =~ %r(image)
end
end
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With