In my model:
has_attached_file :uploaded_file,
:url => "/policy_documents/get/:id",
:path => "/public/policy_documents/:id/:basename.:extension"
validates_attachment_size :uploaded_file, :less_than => 10.megabytes
validates_attachment_presence :uploaded_file
validates_attachment_content_type :uploaded_file, :content_type =>['application/pdf', 'application/xlsx'],
:message => ', Only PDF, EXCEL, WORD or TEXT files are allowed. '
And after this, it can upload only PDF documents, not excel or word or text docs. Please help me where I am missing!
I don't know if you have solved this for yourself but you are missing MIME types for the documents you want to handle try changing :content_type
to:
:content_type => ["application/pdf","application/vnd.ms-excel",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"application/msword",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"text/plain"]
Or use a custom validation
validate :correct_content_type, :message => ", Only PDF, EXCEL, WORD or TEXT files are allowed."
def correct_content_type
acceptable_types = ["application/pdf","application/vnd.ms-excel",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"application/msword",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"text/plain"]
acceptable_types.include? uploaded_file.content_type.chomp
end