将rails3应用程序迁移到heroku,现在回形针+s3不上传文件- heroku日志中没有任何内容



你好,我刚迁移到heroku cedar stack。应用程序是Rails 3,我以前一直在s3上使用回形针。我的gemfile有:

gem 'paperclip', '2.3.11'

我的模型文件有:

class UserProfile < ActiveRecord::Base
has_attached_file :avatar, 
                :styles => { :thumb  => "150x200#" }, 
                :default_style => :thumb, 
                :default_url => "missingAvatar.png",
                :storage => :s3,
                :s3_credentials => S3_CREDENTIALS

我创建了一个新文件来存储S3_CREDENTIALS:

# initializers/s3.rb
if Rails.env == "production"
  # set credentials from ENV hash
S3_CREDENTIALS = { :access_key_id => ENV['S3_KEY'], :secret_access_key => ENV['S3_SECRET'], :bucket => "app_content"}
else
  # get credentials from YML file
S3_CREDENTIALS = Rails.root.join("config/s3.yml")
end

…s3。Yml包含本地开发的键,以及在heroku config中设置的键:S3_key => ak…S3_SECRET => FFE…

如前所述,

在本地运行正常。我甚至可以看到以前存在的化身。只是,当我尝试上传任何新的东西时,我在heroku日志中没有错误,但图片从未上传。

我遇到过很多stackoverflow问题,但是没有一个比得上这个。有人能帮忙吗?

尝试将以下内容添加到您的模型

class UserProfile < ActiveRecord::Base
has_attached_file :avatar, 
                :styles => { :thumb  => "150x200#" }, 
                :default_style => :thumb, 
                :default_url => "missingAvatar.png",
                :storage => :s3,
                :s3_credentials => S3_CREDENTIALS,
                :url  => "/assets/avatar/:id/:style/:basename.:extension",
                :path => ":rails_root/public/assets/avatar/:id/:style/:basename.:extension"

缺少的路径/默认路径可能会导致问题。

原来我需要升级我的回形针宝石到'2.4.5'我在我的Gemfile中这样做了,然后捆绑更新,它工作了!

最新更新