2012-01-16 86 views
0

按這裏draganfly文檔 http://markevans.github.com/dragonfly/file.DataStorage.html無法使S3DataSource工作蜻蜓寶石(紅寶石1.9.3)

我添加以下代碼到我的初始化/ draganfly.rb

enter code here 

app = Dragonfly[:my_app_name] 
app.datastore = Dragonfly::DataStorage::S3DataStore.new 
app.datastore.configure do |c| 
    c.bucket_name = 'my_bucket' 
    c.access_key_id = 'salfjasd34u23' 
    c.secret_access_key = '8u2u3rhkhfo23...' 
    c.region = 'eu-west-1'      # defaults to 'us-east-1' 
    c.storage_headers = {'some' => 'thing'}  # defaults to {'x-amz-acl' => 'public-read'} 
    c.url_scheme = 'https'      # defaults to 'http' 
end 

我連添加上面的代碼後啓動我的服務器。這是我在日誌中得到的錯誤

Exiting 
c:/Connect/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in 
require: ca 
not load such file -- fog (LoadError) 
     from c:/Connect/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-`enter code here`3.1.3/lib/active_support/dependencies.rb:240:in 
block in require 
     from c:/Connect/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in 

block in load_dependency' 
     from c:/Connect/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:640:in 
new_constants_in' 
     from c:/Connect/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in 
load_dependency' 
     from c:/Connect/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in 
require' 
     from c:/Connect/Ruby193/lib/ruby/gems/1.9.1/gems/dragonfly-0.9.9/lib/dragonfly/data_storage/s3data_store.rb:1:i 
`<top (required)>' 
     from c:/rail_projects/c4fx2/config/initializers/dragonfly.rb:4:in `<top (required)>' 
     from c:/Connect/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:234:in 
load' 
     from c:/Connect/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:234:in 
block in load' 

回答

3

嘗試將gem 'fog'添加到您的Gemfile中。

在嘗試讓S3在Sinatra應用程序中使用Dragonfly時爲我工作。

通過查看蜻蜓源代碼,我發現S3數據存儲requires the fog gem,它並沒有被包含在我的Gemfile.lock中。所以我手動將它添加到Gemfile中。

+0

值得注意。我還必須添加「寶石蜻蜓-S3_data_store」 – blotto