2013-10-28 135 views
0

我使用回形針處理圖像上傳在我的Rails應用程序。所有在本地使用文件存儲的開發環境中正常運行。回形針與Heroku與S3 - 不工作

現在我試圖讓這個工作使用S3(因爲該應用程序是在Heroku上運行)。我已成立了一個水桶,設置在development.rb相應的參數,production.rb按照這裏的說明:https://devcenter.heroku.com/articles/paperclip-s3

當我啓動服務器時,我得到以下錯誤:

/Users/ganzogo/.rvm/gems/ruby-1.9.3-p362/gems/railties-3.2.13/lib/rails/railtie/configuration.rb:85:in `method_missing': undefined method `paperclip' for #<Rails::Application::Configuration:0x007fcb8b952000> (NoMethodError) 
    from /Users/ganzogo/Documents/acknowledgement/true-rails/config/environments/development.rb:41:in `block in <top (required)>' 

而且那麼它崩潰。

線錯誤簡稱爲:

config.paperclip.defaults = { 
    :storage => :s3, 
    :s3_credentials => { 
    :bucket => ENV['S3_BUCKET_NAME'], 
    :access_key_id => ENV['AWS_ACCESS_KEY_ID'], 
    :secret_access_key => ENV['AWS_SECRET_ACCESS_KEY'] 
    } 
} 

我得到完全相同的錯誤,如果我試圖在Heroku上運行。有沒有人通過這個,並有任何想法,我已經錯過了?

+0

http://jaysonlane.net/tech-blog/2012/04/rails-heroku-image-attachments-using-paperclip-and-s3/使用此 – LHH

+0

該帖子的不同之處在於,他們使用'aws -s3'寶石而不是'aws-sdk',他們將他們的AWS憑證存儲在.yml文件中,他們修改模型本身以引用存儲方法。我已經完成了所有這些更改,但仍然遇到同樣的錯誤。 – ganzogo

回答

3

它看起來像你可能在你的配置塊有一個錯字。嘗試更改config.paperclip.defaults = {...}config.paperclip_defaults = {...},那應該可以解決您的問題。

0

我們得到了我們的現場應用

的一個這方面的工作不同的是,你需要把憑證到模型本身。下面是我們已經有了:


#app/models/image.rb 
#Image Upload 
     Paperclip.options[:command_path] = 'C:\RailsInstaller\ImageMagick' 
     has_attached_file :image, 
       :styles => { :medium => "x300", :thumb => "x100" }, 
       :default_url => "*******", 
       :storage => :s3, 
       :bucket => '******', 
       :s3_credentials => S3_CREDENTIALS 


#app/config/application.rb 
config.paperclip_defaults = { 
      :storage => :s3, 
      :s3_host_name => 's3-eu-west-1.amazonaws.com' 
    } 

在Heroku上,你需要各種環境變量添加到您的配置設置

相關問題