У меня есть интернет-магазин:
Проблема здесь связана с двумя таблицами, продуктом и размером
Размер продукта имеет множество размеров
размерпринадлежит_продукту
Администратор должен предоставить атрибуты продуктов плюс атрибуты вложенных размеров (:size_name
и :quantity
) при создании продукта
В модели продукта у меня есть это "custom "validation:
validate :at_least_one_size
def at_least_one_size
if self.sizes.empty?
errors.add(:base, :require_size)
end
end
Каждый раз, когда продукт продается, соответствующий размер уменьшается ...
И когда его больше нет, товара нет в наличии ...
Теперь, если я захочу снова добавить товар и обновить свой продукт новыми размерами, я сталкиваюсь с пользовательской ошибкой проверки ...
Поскольку мой продукт не в размере, это как если быбольше не действителен, и я даже не могу его обновить ...
Я думал о чем-то вроде optional true
в моем пользовательском методе, но это не правильно ... Что мне делать?