Я использую конечный автомат rubyist-aasm для обработки различных состояний в моем объекте Event (событие инициализировано, событие обсуждено, событие опубликовано и т. Д.). Я добавил защиту, чтобы предотвратить изменение состояния, когда определенные условия не выполняются.
Это все работает нормально, но не показывает никаких ошибок, когда охранник отклонил изменение состояния. Любая идея, как я могу видеть состояние не изменилось? Я мог бы проверить состояния вручную, но это звучит как уродливое решение.
aasm_state :firststate
aasm_state :secondstate
aasm_event :approve do
transitions :to => :secondstate, :from => [:firststate], :guard => :has_a_price?
end
def has_a_price?
self.price.present?
end