У меня есть модель Lead, которая разделена параметром lead_status на продукты и предложения.Только ссылки со статусом продукта должны содержать изображения, а предложения не должны.Я перенес прикрепленную таблицу product_image в схему и попытался установить изображение по умолчанию только для продуктов.Например:
class Lead < ApplicationRecord
has_attached_file :product_image, styles: { small: "150x150>", default: "350x350"}
validates_attachment_content_type :product_image, content_type: /\Aimage\/.*\z/
before_save :product_image_default_url
def product_image_default_url
if self.lead_status == "product" && self.product_image.url.nil?
self.product_image.url = "/images/:style/default_user_avatar.png"
end
end
- Каждый раз, когда я сохраняю новое объявление без загруженного изображения, я получаю "/product_images/original/missing.png" в качестве URL по умолчанию.Неважно, какой у него статус.
- Модель не распознает новых клиентов по статусу
Как я могу это изменить?Заставить мою модель Lead сохранять URL-адрес изображения по умолчанию в соответствии со статусом «product» и игнорировать все те, которые имеют статус «offer»?
Моя версия рельсов - 5.2.1 и paperclip 6.0.0