首页 > 解决方案 > 剥离字符串以构建新的 S3 路径

问题描述

在我的项目中,我将单个 UUID 分配给在我的 S3 存储桶中的两个文件夹之间移动的每个上传,以便稍后个性化它们的链接。

但是,在尝试按照下面的方法格式化对象键时,下面的所有代码都
parts = old_key.split('/')变灰/不再起作用,表明我看不到语法错误。

def move_and_rename(target_folder, prefix_generator: nil)
    prefix_generator ||= -> { SecureRandom.uuid }
      s3_objects.each do |obj|
        prefix = prefix_generator.call
        old_key = obj.key
        parts = old_key.split('/')
        new_last_part = "#{prefix}-#{parts.last}”
        new_key = (parts[0..-2] + [new_last_part]).join('/')
        new_key = s3_folder ? obj.key.sub(s3_folder, target_folder) : (parts[0..-2] + [new_last_part]).join('/')


        obj.move_to(bucket: bucket_name, key: new_key)
      yield(old_key: old_key, new_key: new_key, obj: obj, prefix: prefix) if block_given?
    end
    self
  end

或者我在方法中的结构完全错误?任何指针将不胜感激。

标签: rubysyntax-error

解决方案


推荐阅读