我想将我的图像从一个模型迁移到另一个模型。 我的旧模型看起来像:
class Post < ActiveRecord::Base
has_attached_file :logo,
url: '/test/post/logo',
path: ':rails_root/uploads/test/post/:id/logo/:hash',
hash_secret: 'secret',
styles: { thumb: ['200x150>', :jpg], medium: ['320x240>', :jpg], large: ['480x360>', :jpg] }
end
新模型看起来像旧模型。
目前,我尝试使用以下代码段迁移图片:
new_logo = post.logo
new_image.logo = new_logo
new_image.save
但不幸的是不起作用。我收到以下错误:
没有这样的文件或目录@ rb_sysopen - / ABCDE / fghjk /测试/后/ 1 /标志/ 43023e427c1deb69789bbf7b75cf32810fbb6354
当我在目录中搜索哈希值时,它与某些哈希值不匹配。
如果没有散列,它将像魅力一样工作,但我需要一个带有散列附件的解决方案。
有人有想法解决我的问题吗?
答案 0 :(得分:0)
您可以使用.path读取文件,然后分配文件对象:
new_image.logo = File.open(post.logo.path)
new_image.save