Rails:将现有的Paperclip附件转换为Image类

时间:2014-08-27 00:43:33

标签: ruby-on-rails ruby ruby-on-rails-3 paperclip has-many

如果我在生产环境中有多种不同类型的Paperclip附加图像分布在几个不同的模型上,我想从这些模型中删除附件并创建一个可以与之关系的Image类那些模型,我该怎么做?

就像,我可以创建Image类和所有类,但是如何才能最好地将基于属性的解决方案转换为基于关系的解决方案,以便我不会丢失特定记录的现有图像?

欢迎所有建议。感谢。

1 个答案:

答案 0 :(得分:1)

您可以在迁移中正确执行此操作。假设用户有头像:

class CreateImage < ActiveRecord::Migration
  def change
    create_table :images do |t|
      t.string 'url'
      t.integer 'user_id'
    end

    User.all.each do |user|
      Image.create(user: user, url: user.avatar)
    end
  end
end