我正在尝试在 aws 上传图像。
class Asset < ActiveRecord::Base
belongs_to :post
attr_accessible :image
has_attached_file :image, :styles => { :medium => "640x480>",
:thumb => "100x100#"},
:storage => :s3,
:s3_credentials => "#{Rails.root}/config/s3.yml",
:path => ":attachment/:id/:style.:extension",
:bucket => 'yourbucket'
end
s3.yml
development:
access_key_id: xxxxxxxx
secret_code: xxxxx
我收到一条消息
AWS::Errors::MissingCredentialsError in PostsController#create
Missing Credentials.
Unable to find AWS credentials. You can configure your AWS credentials
a few different ways:
* Call AWS.config with :access_key_id and :secret_access_key
* Export AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY to ENV
* On EC2 you can run instances with an IAM instance profile and credentials
will be auto loaded from the instance metadata service on those
instances.
* Call AWS.config with :credential_provider. A credential provider should
either include AWS::Core::CredentialProviders::Provider or respond to
the same public methods.
= Ruby on Rails
在 Ruby on Rails 应用程序中,您还可以在
以下方式:
(例如 RAILS_ROOT/config/initializers/aws-sdk.rb)。
这个文件的格式应该像默认的 RAILS_ROOT/config/database.yml
文件。
我相信我正在做最后一步。
文件
gem 'rails', '3.1.3'
gem 'mysql'
gem 'koala'
gem 'paperclip'
gem 'aws-s3'
gem 'aws-sdk'
最佳答案
以下对我有用:
AWS.config(
access_key_id: 'your_access_key',
secret_access_key: 'your_secret_access_key')
has_attached_file :photo, :styles => { :medium => "300x300>", :thumb => "100x100>" },
:default_url => "missing_:style.png", :default_url => 'missing_:style.png', :storage =>
:s3, :bucket => "<my_bucket>"
关于ruby-on-rails-3 - AWS::Errors::MissingCredentialsError 在 rails 3.1 中使用回形针和 aws-s3,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12223762/