Amazon(AWS), Paperclip, Heroku - ładowanie zdjęć

Hejka,
Pomóżcie - chciałbym zastosować uploud zdjęć na usługę AWS S3 z wykorzystaniem paperclipa, Railsów 5. No i nie daję rady. Kurcze o co chodzi ?
Robię wszystko wg instrukcji na https://devcenter.heroku.com/articles/paperclip-s3
Siedzę już nad tym nie powiem ile i nic. Na localu działa na Heroku po po wybraniu zdjęcia komunikat że coś jest nie tak. Pomóżcie

Może brakuje paperclipa? Zaglądnij w logi aplikacji na heroku. Ostatecznie programowanie to nie zabawa w “coś poszło nie tak” tylko rozwiązywanie konkretnych problemów.

1 Like

Dzięki Radku, ale jest paperclip. Mój gemfile wygląda tak:

gem ‘paperclip’
gem ‘aws-sdk’, ‘~> 2.3’
gem ‘bootstrap-sass’
gem ‘devise’
gem “font-awesome-rails”
gem ‘rails’, ‘~> 5.0.0’, ‘>= 5.0.0.1’
gem ‘puma’, ‘~> 3.0’
gem ‘sass-rails’, ‘~> 5.0’
gem ‘uglifier’, ‘>= 1.3.0’
gem ‘coffee-rails’, ‘~> 4.2’
gem ‘jquery-rails’
gem ‘turbolinks’, ‘~> 5’
gem ‘bundler’, ‘~> 1.12’, ‘>= 1.12.5’

group :development, :test do
gem ‘byebug’, platform: :mri
gem “factory_girl_rails”
gem “launchy”
gem “rspec-rails”
end

group :development do
gem ‘web-console’
gem ‘listen’, ‘~> 3.0.5’
gem ‘spring’
gem ‘spring-watcher-listen’, ‘~> 2.0.0’
end

Windows does not include zoneinfo files, so bundle the tzinfo-data gem

gem ‘tzinfo-data’, platforms: [:mingw, :mswin, :x64_mingw, :jruby]

group :development, :test do
gem ‘sqlite3’
end

group :production do
gem ‘pg’, ‘0.18.2’
gem ‘rails_12factor’, ‘0.0.3’
end

natomiast: config/environments/production.rb zawiera :

config/environments/production.rb

config.paperclip_defaults = {
storage: :s3,
s3_credentials: {
bucket: ENV.fetch(‘S3_BUCKET_NAME’),
access_key_id: ENV.fetch(‘AWS_ACCESS_KEY_ID’),
secret_access_key: ENV.fetch(‘AWS_SECRET_ACCESS_KEY’),
}
}

Pospieszyłem się. Miałem na myśli imagemagicka. Aczkolwiek nie ma się co bawić w zgadywanie tylko tak jak pisałem - trzeba zaglądnąć w logi.

Wklep:

heroku logs -t --app nazwa_twojej_appki

i wykonaj żądanie, które wykonuje upload pliku. Powinien się dodać w logach jakiś komunikat błędu. Wklej go tutaj.

1 Like

NameError (uninitialized constant Paperclip::Storage::S3::AWS
2016-08-30T19:38:27.794635+00:00 app[web.1]: Did you mean? Aws)

Oh my Goodness kto by przypuszczał - problem rozwiązany. W moim wypadku dotyczył gemu
‘aws-sdk’. Miałem nowszą wersję która wprowadziła problem. Zmieniłem na gem ‘aws-sdk’, ‘< 2.0’ i działa.
Jakby ktoś miał podobnie to można poczytać:


Dzięki Radku za podpowiedź Wielkie dzięki :slight_smile:

1 Like