我在工作草案中遇到了以下问题。最初没有正确选择目录结构来使用carrierwave存储文件。现在,您需要更改现有文件的目录并重命名它们(名称不是唯一的)。
尝试按照here
所述进行操作获取错误:
ArgumentError: wrong number of arguments (1 for 0)
from /team/mss/app/uploaders/route_point_photo_uploader.rb:30:in `swap_out_store_dir'
旧代码:
def store_dir
"uploads/#{model.class.to_s.underscore}/#{model.id}"
end
def filename
"photo.jpg" if original_filename
end
新代码:
def store_dir
"uploads/#{model.class.to_s.underscore}"
end
def filename
"#{secure_token}.jpg" if original_filename
end
protected
def secure_token
var = :"@#{mounted_as}_secure_token"
model.instance_variable_get(var) or model.instance_variable_set(var, SecureRandom.uuid)
end