Joh*_*ski 5 ruby-on-rails amazon-s3 amazon-web-services
我在使用回形针和 AWS gem 的 LocationsController#create 中收到以下错误AWS::Errors::MissingCredentialsError
有关异常的更多详细信息:
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 *
Run Code Online (Sandbox Code Playgroud)
我目前正在我的机器上的开发环境中运行此代码这是development.rb
Gmaps::Application.configure do
# Settings specified here will take precedence over those in config/application.rb
# In the development environment your application's code is reloaded on
# every request. This slows down response time but is perfect for development
# since you don't have to restart the web server when you make code changes.
config.cache_classes = false
# Log error messages when you accidentally call methods on nil.
config.whiny_nils = true
# Show full error reports and disable caching
config.consider_all_requests_local = true
config.action_controller.perform_caching = false
# Don't care if the mailer can't send
config.action_mailer.raise_delivery_errors = false
# Print deprecation notices to the Rails logger
config.active_support.deprecation = :log
# Only use best-standards-support built into browsers
config.action_dispatch.best_standards_support = :builtin
# Raise exception on mass assignment protection for Active Record models
config.active_record.mass_assignment_sanitizer = :strict
# Log the query plan for queries taking more than this (works
# with SQLite, MySQL, and PostgreSQL)
config.active_record.auto_explain_threshold_in_seconds = 0.5
# Do not compress assets
config.assets.compress = false
# Expands the lines which load the assets
config.assets.debug = true
# Amazon S3 settings for Paperclip uploads
Paperclip::Attachment.default_options.merge!({
storage: :s3 ,
s3_credentials: {
access_key_id: ENV['key_id'],
secret_access_key: ENV['key'],
bucket: "#{ENV['bucket']}-#{Rails.env}"
},
url: ":s3_domain_url",
path: "/:class/:attachment/:id_partition/:style/:filename"
})
end
Run Code Online (Sandbox Code Playgroud)
这是我的模型
class Location < ActiveRecord::Base
geocoded_by :address
after_validation :geocode
has_attached_file :picture,
:styles => { :medium => "300x300>", :thumb => "100x100>" }
end
Run Code Online (Sandbox Code Playgroud)
感谢您花时间查看此内容
它显然没有找到您的 S3 凭据。我在 Paperclip 文档中找不到任何地方说您应该在应用程序配置中指定您的 S3 凭据。
一般来说,您可以将其放入模型中,如下所述:
http://rubydoc.info/gems/paperclip/Paperclip/Storage/S3
有几个与此相关的线程可以提供帮助:
在 Rails 3.1 中使用回形针和 aws-s3 时出现 AWS::Errors::MissingCredentialsError
在我们的 Rails3/Heroku 应用程序中设置 Paperclip + AWS S3 用于图像存储时遇到问题
| 归档时间: |
|
| 查看次数: |
13121 次 |
| 最近记录: |