2011-01-28 3 views
4

Я создаю свое первое приложение на Heroku и изучаю, как использовать рельсы одновременно. Я построил очень простую модель и добавил драгоценный камень «Скрепка» в мою сборку. Он работает на моем локальном хосте (хотя, похоже, он не загружает файлы), однако при развертывании на Heroku в новой форме я просто получаю:Отладка скрепки на Heroku

Извините, но что-то пошло не так.

Мы получили уведомление об этом выпуске , и мы рассмотрим его в ближайшее время.

Я не могу понять, с чего начать отлаживать это. Мой Gemfile содержит строку gem 'paperclip'

ответ

2

Heroku имеет файловую систему только для чтения. Это означает, что «Паперклип» не может сохранять загруженные файлы в любом месте в Хереку.

Если вы хотите загружать файлы в приложение, размещенное на Heroku, то вы должны либо хранить файлы как двоичные капли в своей базе данных, либо вы должны использовать отдельную службу для хранения файлов. Если вы ищете отдельную услугу, Paperclip имеет встроенную поддержку интеграции с Amazon S3.

См. Соответствующие Heroku docs.

+1

Когда-либо доказательство того, что вы новичок. Спасибо. – cjm2671

+0

Heroku не имеет файловой системы только для чтения. Он имеет [эфемерную файловую систему] (https://devcenter.heroku.com/articles/dynos#ephemeral-filesystem). Вы можете писать, но это временно и отбрасывается, когда приложение перерабатывает. – Chloe

+1

@Chloe - Во время ответа приложения Heroku запускались в файловой системе только для чтения. Теперь они запускаются, как вы говорите, в контейнерах с эфемерными файловыми системами. – yfeldblum

0

Вы можете запустить heroku logs в командной строке, чтобы получить файлы журнала вашего приложения.

Наверняка вы найдете свой ответ там.

5

Журналы Heroku не всегда помогают.

Для ваших целей, так как вы только начинаете, я бы рекомендовал установить ваше приложение heroku в режим разработки, чтобы вы могли видеть подробные сообщения об ошибках.

heroku config # Should return a list of your current environment, including RACK_ENV=production 
heroku config:add RACK_ENV=development # now you'll get verbose error messages 
heroku config:add RACK_ENV=production # set this back when you're done debugging 

Это должно помочь! Поделитесь сообщением об ошибке с нами и, возможно, мы сможем помочь больше.

+0

Спасибо! Мне это нужно. – Ashe

Смежные вопросы