Изображение хранилища в базе данных с помощью плагина скрепки направляющих

При нарушении Закона Demeter при наличии

int price = customer.getOrder().getPrice();

, решение не состоит в том, чтобы создать getOrderPrice () и преобразовать код в

int price = customer.getOrderPrice();

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

6
задан mc. 20 October 2009 в 19:13
поделиться

4 ответа

Ознакомьтесь с этим примером приложения

http://patshaughnessy.net/2009/5/29/paperclip-sample-app-part-3-saving-file-attachments-in- a-database-blob-column

Думаю, это именно то, что вам нужно.

HTH

PS: хранение изображений в базе данных обычно плохая идея, я уверен, что вы можете использовать скрепку с S3 / cloudfront ( как указано в ответах ниже)

7
ответ дан 8 December 2019 в 14:44
поделиться

Heroku рекомендует хранить загружаемые файлы на s3, а предоставляет инструкции о том, как это сделать для нескольких файловых плагинов Rails.

5
ответ дан 8 December 2019 в 14:44
поделиться

Переосмыслите, что вы делаете. Хранить изображения в БД - плохая идея. Для получения дополнительной информации см. здесь .

Правильно, чтобы указать вам на S3. Если ничего другого, подумайте о стоимости: 500 МБ пространства базы данных на Heroku - это 50 долларов в месяц. На S3 это будет 15 центов.

4
ответ дан 8 December 2019 в 14:44
поделиться

Изображение из S3 обрабатывается медленно. Задержки от 0,5 до 2 с являются обычными, что означает, что его следует использовать только для медиаресурсов.

0
ответ дан 8 December 2019 в 14:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: