2012-07-10 151 views
0

得到這個錯誤在上傳FILE: LoadError(沒有這樣的文件,以負荷 - AWS-SDK(您可能需要安裝AWS-SDK寶石)): 應用程序/控制器/ uploaded_files_controller。 rb:19:在`create'中回形針Mongoid S3錯誤

我正在使用Mongo和Paperclip。我可以在不使用s3的情況下上傳文件。但是,我們的生產服務器在Heroku上,所以我必須使用Amazon來存儲文件。

我讀過其他堆棧溢出的帖子,但沒有解決我的具體問題。

  1. 我重新啓動了我的服務器幾次。不是這個。
  2. 我確實需要亞馬遜寶石在我的Gemfile
  3. 我已經做了捆綁安裝放亞馬遜寶石後(我知道它的明顯的,但我仍然不得不說明這點)

  4. 我不使用ImageMagick。這些上傳是簡單的文本文件上傳。

  5. 我知道我的Amazon存儲桶名稱和身份驗證資料是正確的,因爲我使用此應用程序連接到不同容量的其他Amazon資源。

任何人都可以幫忙嗎?這裏是我的代碼:

class UploadedFile 
    include Mongoid::Document 
    include Mongoid::Paperclip 

    require "aws/s3" 

    has_mongoid_attached_file :file, 
    :storage  => :s3, 
    :bucket_name => 'my-uploads', 
    :path   => ':attachment/:id/:style.:extension', 
    :s3_credentials => File.join(Rails.root, 'config', 'amazon_s3.yml') 

end 

回答

0

好的,我找到了答案:寶石需要更新。

Paperclip現在需要Amazon SDK gem而不是s3 gem。

gem 'aws-s3', :require => "aws/s3" 

應改爲

gem 'aws-sdk', :require => "aws-sdk" 
+1

什麼左右各一的區別?兩者都是一樣的,不是?我現在有點混亂。 – 2012-07-31 18:45:26

+0

我真誠道歉.....我忘了把新的遊戲名稱,並最初把s3寶石的名字再次。編輯(更正)指出正確的新創業板是..... gem'aws-sdk',:require =>「aws-sdk」 – Shem 2012-10-11 20:18:53