我正在为我的网站创建一个演示部分。每个新模拟账户生成虚拟数据的位置。伪数据包括图像。这需要太长时间,但在创建这些虚拟图像时会占用不必要的空间。它们只是数据库中已存在的图像的副本。
我有一个Image
对象,其关系为has_attached_file :pc_image
。我想要一个新图像在旧图像中引用pc_image,而不是创建重复。我一直在尝试这样的事情(添加了p语句以显示差异),但它不起作用:
p old_image
=> images/001/original/old_image.jpg
new_image.pc_image = old_image.pc_image
new_image.save
p new_image
=> images/002/original/old_image.jpg
注意图像后面的ID ... 001和002.Paperclip似乎使用其父对象的ID而不是旧URL自动创建新URL。它不会复制图像,这就是我想要的。但我在视图中得到一个丢失的图像,因为pc_image URL指向一个从未创建过的图像,而不是指向old_image URL,这就是我想要的。这可能吗?有一个很好的解决方法吗?