如何将数据库记录映射到物理文件(如图像上载)

时间:2009-12-03 09:42:03

标签: ruby-on-rails ruby-on-rails-plugins

37个信号建议id分区来完成这件事..

http://37signals.com/svn/archives2/id_partitioning.php

任何建议都非常受欢迎。

感谢。

3 个答案:

答案 0 :(得分:4)

我们使用Paperclip来存储我们的文件。它可以很容易地做你想做的事。

答案 1 :(得分:1)

我们按日期使用分区,因此今天上传的图片最终会显示在2009/12/10/image_12345.jpg中。路径存储在db中以供参考,映像文件夹的路径(2009的父路径)放在某个配置文件中。如果我们以后需要改变它,那就很容易了。

答案 2 :(得分:0)

您可以通过几乎所有内容进行映射。我们使用用户在我们的设计上进行映射,但它是一个HR系统,因此它是有意义的(用户无法拥有32k文件条目),并且文件与用户明确连接。在媒体库中,按日期或ID划分的系统部分将更有用。

问题是,您应该将文件路径的某些部分存储在数据库表中(如前所述)。它是日期,还是用户哈希/名称(通常也是分开的,例如你/用户j / john j / jo / john等)。然后您不必担心更改分区系统,因为这只需要更新数据库。