S3/Paperclip在Heroku上工作但不在Localhost上工作

Ste*_*ins 2 ruby-on-rails amazon-s3 paperclip

Paperclip非常适合Heroku上的应用程序,但我似乎无法让它在本地运行.每当我尝试做某事时,我都会得到"缺少必需品:桶选项"......但是桶就在那里,它适用于Heroku!

这是我的模型,如果它有帮助:

  has_attached_file :screen_one, :styles => { :medium => "800x600>", :thumb => "110x80#" },
  :storage => :s3,
  :s3_credentials => {
    :access_key_id => ENV['accesskeyishere'],
    :bucket => ENV['sitebuilderreport'],
    :secret_access_key => ENV['secretaccesskeyishere']
  }
Run Code Online (Sandbox Code Playgroud)

我已经更改了访问密钥,因为这是一个公共帖子:)

Tu *_* H. 6

我遇到了同样的问题(缺少:每一个桶都在哪里).以下答案在我的案例中完美无缺.

一个.将这些添加到.bash_profile(注意:填写您的亚马逊帐户凭据)

export AWS_ACCESS_KEY_ID=XXXXXXXXXX
export AWS_SECRET_ACCESS_KEY=XXXXXXXXXX
export AWS_BUCKET=XXXXXXXXXX
Run Code Online (Sandbox Code Playgroud)

湾 这是我的development.rb(注意:复制并粘贴而不更改任何内容)

Paperclip.options[:command_path] = "/usr/local/bin/"

config.paperclip_defaults = {
    :storage => :s3,
    :s3_credentials => {
      :bucket => ENV['AWS_BUCKET'],
      :access_key_id => ENV['AWS_ACCESS_KEY_ID'],
      :secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
    }
}
Run Code Online (Sandbox Code Playgroud)

请务必使用最新的paperclip和aws-s3宝石重新绑定您的Rails应用程序.此外,请确保退出终端并再次运行所有内容,因为这是对.bash_profile文件的更新.

我希望现在一切顺利.