Обновление:
это действительно странно.Я быстро создал новое приложение и фактически загрузил файл, но потом понял, что забыл сменить хранилище: файл на хранилище: туман.Когда я сделал это изменение в хранилище: fog, это новое приложение сломалось github.com/MikeOnRails/s3 Как это изменение могло сломать приложение?
Оригинальный вопрос
Я продолжаю ломать и создавать новые приложения heroku, пытаясь выяснить, как заставить Amazon s3 работать с несущей волной.
Я нашел некоторые инструкции на странице git-концентратора несущей волны, но, возможно, я что-то делаю.Перевозчик.Я без проблем добавил переменные окружения (то есть сайт не сломался)
heroku config: add S3_KEY = NOTREAL8844848L S3_SECRET = NOTREAL345566
, затем я создал файл в каталоге инициализаторов под названием carrierwave_s3.rbи вставил в него этот код
CarrierWave.configure do |config|
config.fog_credentials = {
:provider => 'AWS',
:aws_access_key_id => ENV['S3_KEY'],
:aws_secret_access_key => ENV['S3_SECRET'],
:region => 'US-Standard'
}
config.fog_directory = 'm73test'
config.fog_host = 'https://m73test.s3.amazonaws.com'
config.fog_public = true
config.fog_attributes = {'Cache-Control' => 'max-age=315576000'}
end
Я также попытался поместить одинарные кавычки вокруг переменных ENV
:aws_access_key_id => 'ENV['S3_KEY']',
:aws_secret_access_key => 'ENV['S3_SECRET']',
В загрузчиках / image_uploader.rb
Я изменил
storage :file
до
storage :fog
Обратите внимание, in uploaders/image_uploader.rb
Я не изменил это вообще, предполагая, что ему нужен путь к файлу, чтобы сохранить его в
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
Затем я нажал новый код и получил ошибку приложения.Кто-нибудь может помочь?
(Обратите внимание, что в консоли amazon, когда я создаю контейнер, он говорит «Стандарт США». Я добавил дефис в свой код, потому что увидел его на git-концентраторе несущей волны.)
часть журналов Heroku, сообщающих, что произошел сбой
4T23:32:03+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.3.6/lib/rack/builder.rb:51:in `initialize'
2012-01-14T23:32:03+00:00 app[web.1]: from /app/config.ru:1:in `new'
2012-01-14T23:32:03+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.3.6/lib/rack/server.rb:301:in `wrapped_app'
2012-01-14T23:32:03+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.1.3/lib/rails/commands.rb:49:in `tap'
2012-01-14T23:32:03+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.1.3/lib/rails/commands.rb:49:in `<top (required)>'
2012-01-14T23:32:03+00:00 app[web.1]: from script/rails:6:in `require'
2012-01-14T23:32:03+00:00 app[web.1]: from script/rails:6:in `<main>'
2012-01-14T23:32:03+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.3.6/lib/rack/server.rb:252:in `start'
2012-01-14T23:32:03+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.3.6/lib/rack/builder.rb:40:in `eval'
2012-01-14T23:32:03+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.1.3/lib/rails/commands.rb:54:in `block in <top (required)>'
2012-01-14T23:32:05+00:00 heroku[web.1]: State changed from starting to crashed
2012-01-14T23:32:05+00:00 heroku[web.1]: Process exited
2012-01-14T23:32:06+00:00 heroku[router]: Error H10 (App crashed) -> GET mmcarry.herokuapp.com/ dyno= queue= wait= service= status=503 bytes=
2012-01-14T23:32:06+00:00 heroku[router]: Error H10 (App crashed) -> GET mmcarry.herokuapp.com/favicon.ico dyno= queue= wait= service= status=503 bytes=
2012-01-14T23:32:11+00:00 heroku[router]: Error H10 (App crashed) -> GET mmcarry.herokuapp.com/ dyno= queue= wait= service= status=503 bytes=
2012-01-14T23:32:11+00:00 heroku[router]: Error H10 (App crashed) -> GET mmcarry.herokuapp.com/favicon.ico dyno= queue= wait= service= status=503 bytes=