2016-08-01 11 views
7

Czy istnieje sposób zdefiniowania osłony (np. has_legs?), która jest sprawdzana przed wejściem do stanu (np. running) w każdym przypadku?Jak ustawić strażnika na poziomie stanu w AASM

Na liście wszystkich możliwych wywołań zwrotnych znajdują się osłony zdarzeń i przejść, ale nie zdarzenia.

Próbowałem wykonać warunkowe sprawdzanie poprawności dla modelu. Działał przy uruchamianiu zdarzeń, ale nie dla metod związanych z zaporą (np. may_run?).

+0

Czy możesz pokazać swój kod? –

Odpowiedz

0

Nie znam metody kompilacji. Chciałbym użyć obejścia z hasłem zawierającym domyślne opcje.

DEFAULT_EVENT_OPTS = { guard: ... } 
DEFAULT_TRANSITION_OPTS = { ... } 

event :clean, DEFAULT_EVENT_OPTS.merge({ ... }) do 
    transitions DEFAULT_TRANSITION_OPTS.merge({:from => :running, :to => :cleaning, :guard => :cleaning_needed?}) 
end 
Powiązane problemy