2017-02-03 3 views
-2

Это ошибка рельсы я получаю:Мой мандат работали ранее для АМС s3 на Rails 5

Aws::S3::Errors::SignatureDoesNotMatch (The request signature we calculated does not match the signature you provided. Check your key and signing method.): 

Никакого решения я видел не работал.

Это мой articles.rb и переменные окружения установлены как на сервере Heroku и развития локальной машины:

class Article < ApplicationRecord 
    has_many :comments, dependent: :destroy 
    validates :title, presence: true, 
       length: { minimum: 5 } 
    has_attached_file :attachment, 
      :path => 'assets/:class/:attachment/:id/:style/:filename', 
      :storage => :s3, 
      :bucket => ENV['AWS_BUCKET'], 
      :s3_bucket => ENV['AWS_BUCKET'], 
      :s3_permissions => 'public-read-write', 
      :s3_protocol => 'http', 
      :s3_host_name => 'eu-central-1.amazonaws.com', 
      :s3_host_alias => 'eu-central-1.amazonaws.com', 
      :s3_region => ENV['AWS_REGION'], 
      :s3_credentials => { :access_key_id => ENV['AWS_ACCESS_KEY_ID'], 
           :secret_access_key => ENV['AWS_SECRET_KEY_ID'], 
           :endpoint => 'eu-central-1.amazonaws.com' } 

    # Explicitly do not validate 
    do_not_validate_attachment_file_type :attachment 
    #validates_attachment :attachment, content_type: { content_type: 'application/x-java-archive'}, size: { in: 0..10.megabytes } 
end 

ответ

0

Я не могу понять, почему? Но мне пришлось добавить :url => :s3_domain_url в конфигурацию скрепки, чтобы эта ошибка исчезла. И мой TypeError in ArticlesController#create все еще не работает ... прежде чем я добавил AWS s3 в мое приложение Rails, он работал нормально: к сожалению, без постоянного хранения в рабочей среде heroku.