Я хочу дать сообщение об ошибке проверки, если пользователь попытается загрузить зашифрованный файл в приложение Ruby on Rails. Я использую драгоценный камень святилища для прикрепления. Как я могу это сделать - любая идея?
Я использую: Rails 5.1.6, ruby 2.4.2p198, shrine 2.9.0.
Это мой инициализатор
require 'shrine'
Shrine.plugin :activerecord
Shrine.plugin :cached_attachment_data # for forms
Shrine.plugin :determine_mime_type
Shrine.plugin :backgrounding
Shrine.plugin :delete_promoted
Shrine::Attacher.promote { |data| PromoteJob.perform_async(data) }
Shrine::Attacher.delete { |data| DeleteJob.perform_async(data) }
Этот загрузчик
class DocumentUploader < Shrine
plugin :validation_helpers
plugin :pretty_location
plugin :processing
plugin :versions
process(:store) do |io, context|
original = io.download
out_file = Tempfile.new(["pdfsigned~", '.pdf'])
SignPdf.sign_pdf!(original, io.original_filename, out_file,
context[:record], context[:record].creator_company, :uploaded, {} , false)
{ original: io, stamped: out_file }
end
Attacher.validate do
validate_mime_type_inclusion ['application/pdf']
end
конец
когда я создаю документ. он не проверяет и принимает зашифрованный файл