Ruby on rails 未定义的局部变量';图像';上课
我想在将文件存储到S3之前对其进行加密。我用神龛上传,用锁箱加密Ruby on rails 未定义的局部变量';图像';上课,ruby-on-rails,io,shrine,Ruby On Rails,Io,Shrine,我想在将文件存储到S3之前对其进行加密。我用神龛上传,用锁箱加密Shiele#upload采用类似IO的对象,但不包括设置此对象所需的一些步骤。它只是说做一些类似的事情: class Photo < ApplicationRecord belongs_to :imageable, polymorphic: true validates_presence_of :image lockbox = Lockbox.new(key: ENV['LOCKBOX_MASTER_KEY'])
Shiele#upload
采用类似IO的对象,但不包括设置此对象所需的一些步骤。它只是说做一些类似的事情:
class Photo < ApplicationRecord
belongs_to :imageable, polymorphic: true
validates_presence_of :image
lockbox = Lockbox.new(key: ENV['LOCKBOX_MASTER_KEY'])
PhotoUploader.upload(lockbox.encrypt_io(image), :store)
end
班级照片
在这种情况下,image
是未定义的局部变量
如果文件是用户上传的(并在控制器中列出了白名单),我如何在模型中访问它,以便在保存时执行此操作?您可以在保存之前将其移动到
方法中。如果您当时想这样做,也可以在保存后将其更改为(您的问题有点不清楚)
before_save :encyrpt_image
def encrypt_image
lockbox = Lockbox.new(key: ENV['LOCKBOX_MASTER_KEY'])
PhotoUploader.upload(lockbox.encrypt_io(self.image), :store)
end