重命名模型后更新回形针文件名?

时间:2016-07-13 20:08:57

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

重命名模型并更新表名后,如何更新所有回形针对象的文件名?

Paperclip将它们存储在包含模型名称的路径中。我正在寻找一种自动方式,可能在迁移中更新文件路径。

1 个答案:

答案 0 :(得分:0)

您必须转到该方法,即新url的选项:

这是PaperClip使用的默认值:

https://github.com/thoughtbot/paperclip/blob/95acf3b898bd782f4429d42fd2d8812505390328/lib/paperclip/attachment.rb#L24

{
  path: ':rails_root/public:url',
  url: '/system/:class/:attachment/:id_partition/:style/:filename'
}

您必须覆盖行为并将:class更改为新的模型名称,路径是通过网址动态确定的:

class User < ActiveRecord::Base
  has_attached_file :avatar, url: '/system/:class/:attachment/:id_partition/:style/:filename' 
end

除非您还覆盖其他模型url选项,否则您必须小心使用其他模型中的旧模型名称。