用于保存用户上传文件的Rails目录

时间:2017-02-23 00:24:50

标签: ruby-on-rails ruby

这更像是一个好奇心问题。

现在我做store_dir 'uploader_type/model.id(例如:profile_picture/1/)。

但我真的想知道命名目录以存储用户上传文件的最佳做法是什么?

1 个答案:

答案 0 :(得分:0)

相信我,根据我的经验,创建目录结构会带来更多麻烦而不是带来好处。文件夹将文件紧密地耦合到目录,这最终将使您找到给定文件的生活变得更加困难。此外,如果有一天你需要迁移文件夹(特别是在S3中),你需要为它创建一个脚本,因为这不是一项简单的任务

为什么不让所有用户上传图片 store_dir'上传/图片'?

如果您需要创建一个唯一的名称,例如

  • 1。创建图像的MD5,即[md5_hash] .jpg
  • 2。将"目录结构传输到文件" (我假设您正在使用ruby - >"#{model.id} - #{model.class.to_s.downcase} .jpg"

假设您拥有Profile模型和Car模型 您最终会在uploads/images

中找到以下结构
  • 1_profile.jpg
  • 2_profile.jpg
  • 1_car.jpg
  • 2_car.jpg