Я установил S3, и он отлично работает на героку. Когда я пытаюсь запустить RAILS_ENV=production bundle exec rake assets:precompile
, чтобы перетащить активы в герою, он возвращает указанную выше ошибку. Если я запускаю конфигурацию heroku, у нее уже есть ведро S3 и все остальное.KeyError: ключ не найден: «S3_BUCKET_NAME»
Что он ищет и почему он не может найти имя S3 для компиляции активов.
В 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'),
s3_region: 'us-west-2',
}
}
Я нашел пару SO на этом, но никто не указывает меня к решению. Любая помощь приветствуется!
ОБНОВЛЕНИЕ: Причина, по которой я должен скомпилировать локально, состоит в том, что heroku извлекает файл application.js.
remote: Running: rake assets:precompile
remote: I, [2016-09-23T15:12:53.753671 #267] INFO -- : Writing /tmp/build_97a8fe2ca07bc4bf090be26f2be2872b/public/assets/application-9c608f99ae2b1980d74ba674b9f9ff7f0ae113d532e2c2ea580960a6a53346bb.js
remote: Asset precompilation completed (6.54s)
remote: Cleaning assets
remote: Running: rake assets:clean
remote: I, [2016-09-23T15:12:55.908630 #273] INFO -- : Removed application-489c5647af1ca8b6a56e560e8a83d77a1a070778dabb4f0b40f55c4a4e5b8feb.js
Это на самом деле проблема. Когда я нажимаю герою, он извлекает application.js. Поэтому я пытаюсь скомпилировать его локально, поэтому его отталкивают к герою. Я обновлю ошибку с ошибкой журнала. Просто для ваших знаний, я компилировал локально просто отлично, прежде чем я установил S3 – gwalshington
@gwalshington. Вы неправильно определили свою проблему. Компиляция активов локально и отталкивание их к Heroku - неправильный ответ здесь. Heroku не удаляет ваш application.js, он удаляет * старую версию * вашего приложения.js – meagar
Собственно, application.js вообще отсутствует в проекте. Любые мысли о том, почему этого не будет? И чтобы подтвердить, что его нет, я прошу его просто console.log что-то при загрузке страницы, и это не так. – gwalshington