Rails:将多个文件上载为嵌套模型

时间:2010-12-30 10:41:10

标签: ruby-on-rails upload paperclip attachment-fu

我正在开发一个项目,需要上传多个不同类型的文件。

我想将文件存储在数据库中(我不确定这是否也是最好的想法)作为嵌套模型。可称为文件。

我有以下问题。

  1. 我是否必须使用插件/ gem,我没有找到任何简单的实现。

  2. 如果是的话,最好的宝石/插件是什么?据我所知,paperclip不支持存储在数据库中,但attachment_fu支持存储。

  3. 是否可以在不刷新页面的情况下使用jQuery执行此操作?

  4. 我还想处理有关文件大小和类型的一些错误。

    的问候, Hardik

    PS:我正在使用rails 2.3.5

1 个答案:

答案 0 :(得分:2)

首先,从不将文件存储在数据库中!

如果您在数据库中保存文件,则必须查询它并通过整个rails堆栈才能获取该文件。你可以想象:这很慢。网络服务器在提供文件和静态内容方面 更快,因为它们是为此而构建的。如果您的网站变得更大,那么将静态内容放在其他地方(如Amazon S3或其他资产主机)是个好主意。如果您的文件不在数据库中,它们是独立的并且易于移动(image_tag助手是您最好的朋友)。

  1. 当然你必须使用插件/ gem。你总是可以自己实现所有东西,但这当然是一个坏主意,因为其他人已经发明了这种轮子,这可以为你节省很多时间。

  2. 回形针仍然是我的选择,相当不错,在我看来比attachment_fu更容易处理。它还有您要求的验证。

  3. 当然,有http://www.uploadify.com/例如,允许多个文件上传以及您可以想象的事情:)

  4. 此致

    亚历