【问题标题】:Paperclip's attachment to be in UUID instead of natural id回形针的附件是 UUID 而不是自然 ID
【发布时间】:2016-11-19 04:58:29
【问题描述】:
我有一个以 uuid 作为其主键的表模型,并且它有一个回形针附件。
当我上传文件时,它会被截断为 3 个包含 3 个字符的文件夹,例如
18ac5169-1104-486a-862b-ab760523a096 的 uuid 将变为 18a/c51/69-/original/image.png
有没有办法将回形针配置为存储整个 UUID 而不是截断的版本?
【问题讨论】:
标签:
ruby-on-rails
ruby-on-rails-4
paperclip
【解决方案1】:
您遇到的问题是 url 使用 :id_partition 插值的结果,它将前 9 个字符的 id 拆分为 3 个字符的拆分路径形式。
我怀疑这是因为您没有提供 url 选项,而 Paperclip 使用的是默认值:
/system/:class/:attachment/:id_partition/:style/:filename
要覆盖它,您需要指定 url 选项并将 :id_partition 替换为 :id 插值。在具有附件的模型中,将 has_attached_file 声明更改为:
has_attached_file :my_attachment,
url: '/system/:class/:attachment/:id/:style/:filename'
自然地将:my_attachment 更改为您当前拥有的。