2010-03-21 26 views
1

我目前正在開發一個rails3應用程序,在gridfs中有mongomapper和文件存儲。 經過一番嘗試後,我發現握力,目前也在應用程序中使用它來存儲數據。到目前爲止,這麼好 - 現在我試圖讓我的頭腦爲用戶提供文件 - 什麼是最好/最快的方式來實現?rails3,gridfs和mongomapper:如何提供文件? SEND_DATA?

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

似乎有是2種方式:從的Ruby/Rails

  • SEND_DATA - 這是一個推薦的方法?夠快嗎? (我想在部署設置中使用乘客)
  • 書寫軌道金屬(請參閱http://gist.github.com/264077) - 有關如何使用rails3的任何意見或提示?

任何其他的想法,甚至是例子? 非常感謝!

回答

2

我正在使用rack-gridfs來達到這個目的,以便爲瀏覽器提供文件。插件來自jnunemaker,他也寫了mongomapper。你可能也想看看我的抓地力,在那裏我增加了一些更多的文檔和方法的叉子,看是否存在附件:

github.com/parasew/grip

爲Rails3中,你需要進行如下操作來獲得機架GridFS的工作:

以下內容添加到您的Gemfile

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

然後將這些行添加到您的application.rb中(在類應用<的Rails ::應用塊) - 替換值機智h您的實際mongodb設置。

require 'rack/gridfs' 
config.middleware.use Rack::GridFS, :hostname => 'localhost', :port => 27017, :database => "yourdatabase", :prefix => 'gridfs'