mongodb gridfs carrierwave或关节还是其他?

时间:2010-08-02 15:41:30

标签: ruby-on-rails ruby mongodb mongomapper gridfs

我想将所有资源存储在mongo gridfs中。我试图得到 载波设置与mongomapper和gridfs,但似乎载波 现在支持mongoid。

我需要能够保存不同大小的版本/裁剪版本 一个图像,这就是为什么我要使用carrierwave。目前 它设置为使用paperclip存储在文件系统上但是paperclip是 不容易,或者我还没有找到一个存储在gridfs中的好方法。 ??

我应该使用联合存储assts吗?但那我该怎么创造 版本等?

我基本上拥有可以拥有许多资产的多种模型。我的模特 是mongomapper文档/嵌入式文档,所以我可以使用mongoid 我的资产模型和使用carrierwave ....?

请帮助任何人提供最佳解决方案吗?和 希望能指出我的好榜样!

非常感谢 瑞克

2 个答案:

答案 0 :(得分:0)

我建议联合存储原件。从那里,您可以动态创建备用版本。我在项目上使用了http://github.com/quirkey/imanip来创建替代大小。在第一个请求中,我通常将原始文件缓存到文件系统以获得更快的请求,然后创建/缓存所请求的版本/大小。

答案 1 :(得分:0)

我推荐使用carrierwave,因为如果您因任何原因决定更改文件存储(例如,如果您想转移到基于文件系统的存储),那么使用carrierwave会更容易。

有一个名为mm-carrierwave的carrierwave插件可以让你使用带有MongoMapper的载波。