在 uploader 中定义 filename 参考: http://huacnlee.com/blog/carrierwave-upload-store-file-name-config/
def filename
if super.present?
@name ||= Digest::MD5.hexdigest(current_path)
"#{@name}.#{file.extension}"
end
end
创建一个 model 里面包含一个 avatar 文件属性会创建多个文件
-rw-r--r-- 1 red red 13642 Jun 28 00:46 70cf50e3bc627361d14011ac7e0020f4.png
-rw-r--r-- 1 red red 10933 Jun 28 00:46 big_bb4048b3fc05ca7c31517d264cd97ed5.png
-rw-r--r-- 1 red red 8416 Jun 28 00:46 large_d2f5fda456aabef613ad0ec3ab9c7ae1.png
-rw-r--r-- 1 red red 3213 Jun 28 00:46 normal_35702a3ee884fb3f319bb0e0a3a1980b.png
-rw-r--r-- 1 red red 918 Jun 28 00:46 small_20056cd594137790f249b6b89b8b9c58.png
查看数据库发现 avatar 的值是:70cf50e3bc627361d14011ac7e0020f4.png
显示这张图片的时候使用model.avatar.url(:large)
,结果 image 的 url 为large_70cf50e3bc627361d14011ac7e0020f4.png
,但是并没有生成这个文件
之前生成了large_d2f5fda456aabef613ad0ec3ab9c7ae1.png
这个文件。所以显示失败了,
会产生这种情况呢?