Carrierwave如何存储对多个版本的引用?

时间:2014-01-10 10:09:19

标签: ruby-on-rails carrierwave

如果我不必在数据库中创建额外的行,Carrierwave如何存储不同的图像版本?例如,Carrierwave允许我拥有一个图像的多个版本(即small_img,medium_img,large_img等)。如果不在我的数据库中存储对它的引用,它是如何做到的?

1 个答案:

答案 0 :(得分:1)

它只使用普通的Ruby:)

查看their source code

  1. Here is what version does:调用build_version将新版本存储在内部数据结构中。

  2. 调用store_versions later时,会为每个版本保存图像副本。

  3. 使用uploader.url(:thumb)时,会迭代存储的版本以查找所需的图像(source here