У меня есть модель для заказов, в которой есть много элементов:
class Order < ActiveRecord::Base
has_many :items
end
class Item < ActiveRecord::Base
belongs_to :order
end
Заказы будут иметь статус, а отдельные элементы будут иметь статус, поскольку они отправляются и оплачиваются отдельно.Как только все позиции для заказа были отправлены (их конечное состояние), заказ должен перейти в свое конечное состояние (заказ завершен).
Я прочитал о конечных автоматах для отдельных моделей.Будут ли они применимы здесь?Могу ли я создать конечный автомат для элементов, чтобы проверить, что все их родные элементы отправлены, и если да, обновить состояние заказа?Будет ли это обратным вызовом или лучше наблюдателем?
Я работаю в Rails 3.1, если это имеет значение.
Спасибо за вашу помощь.