carrierwave如何移动和重命名文件

时间:2014-07-17 06:47:21

标签: ruby-on-rails ruby ruby-on-rails-3 carrierwave reorganize

我在工作草案中遇到了以下问题。最初没有正确选择目录结构来使用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

0 个答案:

没有答案