【发布时间】:2012-12-24 10:50:41
【问题描述】:
我查看了 github 上的carrierwave wiki,并使用method they describe 生成了唯一的文件名:
def filename
@filename ||= "#{secure_token}.#{file.extension}" if original_filename.present?
end
private
def secure_token
var = :"@#{mounted_as}_secure_token"
random_token = Digest::SHA2.hexadigest("#{Time.now.utc}--#{model.id.to_s}").first(20)
model.instance_variable_get(var) or model.instance_variable_set(var, random_token)
end
(虽然使用哈希)
我遇到的问题是文件名仍设置为原始文件名。就好像 filename 方法被忽略了。不太确定发生了什么。我重置了服务器和所有内容,仍然在上传的文件和缩略图版本上获得原始文件名。
【问题讨论】:
标签: ruby-on-rails ruby carrierwave