1

我目前正在开发一个带有 mongomapper 和 gridfs 文件存储的 rails3 应用程序。经过一番尝试,我找到了抓地力,目前还在应用程序中使用它来存储数据。到目前为止,一切都很好 - 现在我正在努力为用户提供文件 - 实现这一目标的最佳/最快方法是什么?

来自: http ://railstips.org/blog/archives/2009/12/23/getting-a-grip-on-gridfs/

似乎有两种方法:

  • 来自 ruby​​/rails 的 send_data - 这是推荐的方式吗?够快吗?(我想在部署设置中使用乘客)
  • 编写 rails metal(参见http://gist.github.com/264077) - 关于如何将它与 rails3 一起使用的任何评论或提示?

任何其他想法甚至例子?多谢!

4

1 回答 1

2

我正在使用 rack-gridfs 来为浏览器提供文件。该插件来自 jnunemaker,他还编写了 mongomapper。您可能还想看看我的抓地力叉,我在其中添加了更多文档和方法来查看附件是否存在:

github.com/parasew/grip

对于 rails3,您需要执行以下步骤才能使 rack-gridfs 正常工作:

将以下内容添加到您的 Gemfile

gem "jnunemaker-rack-gridfs", :git =>"git://github.com/jnunemaker/rack-gridfs.git"

然后将这些行添加到您的 application.rb (在类 Application < Rails::Application 块中) - 用您的实际 mongodb 设置替换这些值。

require 'rack/gridfs'
config.middleware.use Rack::GridFS, :hostname => 'localhost', :port => 27017, :database => "yourdatabase", :prefix => 'gridfs'
于 2010-03-22T12:13:38.877 回答