Где хранить фоновую картинку Rails-приложения?

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

Вопрос: как лучше организовать хранение и загрузку фоновых изображений?

Я использую гем carrierwave, можно было создать у модели раздела поле, в котором хранить фон с помощью carrierwave, чего было бы достаточно, но как тогда поступить с фоном по умолчанию?
  • Вопрос задан
  • 2791 просмотр
Пригласить эксперта
Ответы на вопрос 2
kirillplatonov
@kirillplatonov
Ruby on Rails developer
FanKiLL
@FanKiLL
То есть разделы динамические например категории из базы?
Тогда как по другому, если ещё хотите иногда менять картинку то хранить путь к картинке в базе.

А если всё фиксировано например сделать отдельный layout для определённого контроллера где прописать другую фоновую картинку а в контроллере использовать этот layout

class CategoriesController < ApplicationController
  layout 'имя лайаута из папки layout'
end


Тем более, что модель всё равно вы уже подгружаете значит лишнего запроса не будет.

Если фоновые картинки менять не будут то можно заранее их положить в app/assets/images
чтоб у картинок были имена модели или категории.
А если будут меняться часто или категории создаются динамически из админки например - не вижу другого выхода как хранить путь в базе и заливая задавать его и иметь в моделе.

mount_uploader :background, BackgroundUploader
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы