图像名称未使用轨道中的CarrierWave保存为原始图像名称

时间:2014-11-13 13:39:18

标签: ruby-on-rails ruby image carrierwave

我正在使用CarrierWave上传将存储到公众中的图片 - >上传文件夹。

在我的uploader.rb文件中,代码结构是给出这样的文件名,

def filename
"image.#{File.extname(original_filename).downcase}" if original_filename
end

但所有图像都保存为images.jpg。 但我想用原始名称保存图像,如果我将上传包含car.jpg等名称的图像,而不是图像将被保存为car.jpg而不是image.jpg在公共场所 - >上传文件夹。

如果有人知道这个问题,请帮助我。

感谢。

1 个答案:

答案 0 :(得分:0)

您可以执行以下操作:

def filename
    model.file_name
end

其中file_name是包含文件名的上传内容的属性(如果您想要扩展名,请按照您的方式添加它)。

在您当前的代码中,该文件将另存为' image' (因为你硬编码了#34;图像。"。你也可以尝试

"#{original_filename}.#{File.extname(original_filename).downcase}" if original_filename

如果original_filename是您期望的那样。)