小编Pie*_*ain的帖子

ActiveStorage 克隆附件

我正在开发一个 Ruby-on-Rails 项目,使用链接到 AWS-S3 的 ActiveStorage 进行文件上传和存储。我使用小丑gem 来克隆我的对象。

我想克隆一个带有附加文件的对象,同时也克隆这个文件(所以也在 AWS-S3 中克隆它)。

我在谷歌上看了很长时间,发现clowne_active_storage gem 来管理 ActiveStorage 附件克隆。

但我的问题是,当我尝试克隆多个对象时,克隆对第一个对象运行良好,而对其他对象不起作用。

我的用户模型:

class User < ApplicationRecord
  MAX_FILE_SIZE = 30.megabytes
  MAX_FILE_SIZE_HR = "30MB" #human readable

  validate :validate_fields

  has_one_attached :file_input

  def has_attachment?
    !self.file_input.attachment().nil?
  end

  private

  def validate_fields
    validate_file_size
  end

  def validate_file_size
    if file_input.attached? && file_input.blob.byte_size > MAX_FILE_SIZE
      file_input.purge
      errors[:base] << ("File size should be less than " + MAX_FILE_SIZE_HR)
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

我克隆多个对象的代码:

self.users.each { |user|
  user_copy = UserCloner.call(user).to_record
  user_copy.save!
}
Run Code Online (Sandbox Code Playgroud)

我的 UserCloner …

ruby clone ruby-on-rails amazon-s3 rails-activestorage

5
推荐指数
0
解决办法
652
查看次数

需要导入语法

有谁知道这行代码的导入语法:

const { Translate } = require("@google-cloud/translate").v2;
Run Code Online (Sandbox Code Playgroud)

我在想这样的事情:

import { Translate } from "@google-cloud/translate.v2"
Run Code Online (Sandbox Code Playgroud)

但这不起作用。有任何想法吗?

javascript import google-translate node.js google-cloud-translate

2
推荐指数
1
解决办法
400
查看次数