Paperclip的附件是UUID而不是自然id

时间:2016-11-19 04:58:29

标签: ruby-on-rails ruby-on-rails-4 paperclip

我有一个以uuid为主键的表模型,它有一个回形针附件。 当我上传文件时,它被截断为3个文件夹,包含3个字符,例如 18ac5169-1104-486a-862b-ab760523a096的uuid将成为18a / c51 / 69- / original / image.png

有没有办法配置回形针来存储整个UUID而不是截断版本?

1 个答案:

答案 0 :(得分:4)

您遇到的问题是网址使用:id_partition插值的结果,该插值会将id拆分为前3个字符的3个字符拆分路径形式。

我怀疑这是因为您没有提供网址选项而且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改为你现有的。