我有以下型号,并希望我的文件上传如下:
/images/1/123abc_name_original.jpg
/images/1/123abc_name_medium.jpg
/images/1/123abc_name_thumb.jpg
如果我使用如下,则:hash对每个文件都不同;我希望它是相同的,并能够将其保存到我的资产表中的数据库。我不关心文件的安全性。
代码:
Paperclip.interpolates :global_path do |attachment, style|
attachment.instance.assetable.global_id
end
Paperclip.interpolates :val do |attachment, style|
jt=:basename
Digest::MD5.hexdigest(jt)
end
has_attached_file :asset,
:hash_secret => "jtsomething",
:url => "/images/:global_path/:hash_:basename_:style.:extension",
:path => UPLOAD_PATH + "/:global_path/:hash_:basename_:style.:extension",
:styles => { :medium => "200x200>", :thumb => "75x75>", :bigthumb => "125x125"
}
即使是一致的时间戳也会很棒:
Paperclip.interpolates :my_hash do |attachment, style|
Time.now.to_i.to_s
end
对于不同的样式,回形针将采用不同的时间戳。它应该是一致的。
我可能错过了如何做到这一点。
THX
答案 0 :(得分:0)
默认值:hash_data为:
:hash_data=>":class/:attachment/:id/:style/:updated_at"
因此,请覆盖此选项并移除:style
和:updated_at
。那么你的哈希应该为不同的样式产生相同的值。