【发布时间】:2017-05-12 22:25:32
【问题描述】:
我想将我的图像从一个模型迁移到另一个模型。 我的旧模型看起来像:
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
新模型看起来像旧模型。
目前我尝试使用以下代码 sn-p 迁移图像:
new_logo = post.logo
new_image.logo = new_logo
new_image.save
但不幸的是它不起作用。我收到以下错误:
没有这样的文件或目录@rb_sysopen - /abcde/fghjk/test/post/1/logo/43023e427c1deb69789bbf7b75cf32810fbb6354
当我在目录中搜索哈希时,它与某些哈希不匹配。
如果没有散列,它会像一个魅力一样工作,但我需要一个带有散列附件的解决方案。
有人想解决我的问题吗?
【问题讨论】:
-
是的,尝试过这种方式并认为它应该可以工作,因为我收到了上述错误。
-
也许您保存了旧图像并定义了路径,这与现在不同?
-
旧图像在预期的路径中,但是迁移过程中的哈希计算不正确,我不知道为什么..除了哈希,整个路径都是正确的
-
你能把你提到的新模型的代码显示出来吗?
标签: ruby-on-rails ruby migration paperclip